เกี่ยวกับการส่งเมล์ครับ
อันนี้โค๊ดส่งเมลครับ
require_once (str_replace('function.php', 'class.phpmailer.php', __FILE__));
$mail = new PHPMailer(true);
$mail->IsSMTP(); // telling the class to use SMTP
try {
$mail->Encoding = "quoted-printable";
$mail->CharSet = "utf-8";
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = "xxxxx";
$mail->Port = 25;
$mail->Username = "xx";
$mail->Password = "cc";
$mail->AddAddress("boongbungy@gmail.com","boongbungy@gmail.com");
$mail->SetFrom($mailform, $mailform);
$mail->Subject = $subject;
$mail->MsgHTML($msg);
$mail->Send();
return true;
}
catch (phpmailerException $e) {
echo 'phpmailerException '.strip_tags($e->errorMessage());
return false;
}
catch (Exception $e) {
echo 'Boring '.strip_tags($e->getMessage()); //Boring error messages from anything else!
return false;
}
ตอนส่งเกิด error ดังนี้ครับ
The following recipients failed: boongbungy@gmail.com
ปล
boongbungy@gmail.com มีอยู่จริงครับเพราะใช้อยู่
$mail->Host = "xxxxx";
$mail->Port = 25;
$mail->Username = "xx";
$mail->Password = "cc";
ตรงนี้ถูกหมดครับเพราะผมลองแก้เป็นค่าอื่น จะ error ว่า authen ไม่ผ่านครับ
xxxx เป็นค่าสมมุติครับ
require_once (str_replace('function.php', 'class.phpmailer.php', __FILE__));
$mail = new PHPMailer(true);
$mail->IsSMTP(); // telling the class to use SMTP
try {
$mail->Encoding = "quoted-printable";
$mail->CharSet = "utf-8";
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = "xxxxx";
$mail->Port = 25;
$mail->Username = "xx";
$mail->Password = "cc";
$mail->AddAddress("boongbungy@gmail.com","boongbungy@gmail.com");
$mail->SetFrom($mailform, $mailform);
$mail->Subject = $subject;
$mail->MsgHTML($msg);
$mail->Send();
return true;
}
catch (phpmailerException $e) {
echo 'phpmailerException '.strip_tags($e->errorMessage());
return false;
}
catch (Exception $e) {
echo 'Boring '.strip_tags($e->getMessage()); //Boring error messages from anything else!
return false;
}
ตอนส่งเกิด error ดังนี้ครับ
The following recipients failed: boongbungy@gmail.com
ปล
boongbungy@gmail.com มีอยู่จริงครับเพราะใช้อยู่
$mail->Host = "xxxxx";
$mail->Port = 25;
$mail->Username = "xx";
$mail->Password = "cc";
ตรงนี้ถูกหมดครับเพราะผมลองแก้เป็นค่าอื่น จะ error ว่า authen ไม่ผ่านครับ
xxxx เป็นค่าสมมุติครับ
เหอๆ ทำไงดีครับ
ถ้าส่งบน server ตัวเอง ให้ กำหนด user+pass ให้ phpmailer ด้วยครับ (user+pass ของ mail account บน server)
info@boongbungy.net นะครับ ก้คือตรงนี้ $mail->SetFrom($mailform, $mailform); ก็จะได้เป็น $mail->SetFrom("info@boongbungy.net","info@boongbungy.net");
ถ้า ผมให้ info@boongbungy.net จะเกิดปัญหาดังที่แจ้งไว้ แต่ถ้าผมเปลี่ยนเป็น $mail->SetFrom("boongubngy@gmail.com","boongubngy@gmail.com");
สามารถส่งผ่านครับ
ถ้าเป็น server ตัวเองลองตรวจสอบการตั้งค่าของ mail server ครับ อาจไม่ได้เปิดโหมด relaying ไว้ครับ