การส่งเมล์ผ่านบริการของ gmail ด้วย phpmailer
โค้ดนี้สามารถส่งเมล์โดยใช้ service ของ gmail ได้ ซึ่งจะมีข้อดีคือเมล์ของเราจะไม่ไปอยู่ที่ Junk แน่ๆ เพราะ ชื่อของ gmail เป็นประกัน และนอกจากนี้ โค้ดนี้ยังเป็นตัวอย่างการส่งเมล์โดยการเข้ารหัสแบบ ssl อีกด้วยครับ สามารถประยุกต์ใช้กับการส่งแบบ ssl บนเว็บของเราเองได้ด้วย
ในตัวอย่างหากคุณต้องการจะส่งเมล์ผ่านบริการของ gmail (หรือเว็บเราเอง แบบ ssl) คุณจะต้องมี username และ password ก่อนถึงจะส่งได้นะครับ ซึ่งถ้าเป็น gmail ก็หมายความว่าคุณต้องมี email ของ gmail เป็นสมบัติส่วนตัว ซึ่งคุณจะต้องใช้ ชื่อและรหัสผ่านของคุณกำหนดให้กับโค้ด ครับ
ข้อจำกัดของการส่งผ่านบริการของ gmail ก็อยู่ที่ส่งไ้ด้ไม่เกิน 100 เมล์ต่อวันครับ แต่ก็คงเพียงพอสำหรับการใช้งานทั่วไป
โค้ดนี้จะส่งเมล์เป็นแบบ UTF-8 โดยไม่มีปัญหาเรื่องภาษาทั้ง yahoo gmail และ hotmail นะครับ (เท่าที่ผมทดสอบ ซึ่งผมใช้อยู่บนเว็บ) คุณสามารถดาวน์โหลด โค้ด phpmailer ได้จากบนเว็บนี้แหละครับ
<?php
require_once ('class.phpmailer.php');
$mail = new PHPMailer(true);
$mail->IsSMTP(); // telling the class to use SMTP
try {
$mail->Encoding = "quoted-printable";
$mail->CharSet = "utf-8";
// send mail by gmail
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = $gmail_username; // GMAIL username
$mail->Password = $gmail_password; // GMAIL password
$mail->AddReplyTo($mailform, $mailform);
$mail->AddAddress($mailto, $mailto);
$mail->SetFrom($mailform, $mailform);
$mail->Subject = $subject;
$mail->MsgHTML($msg);
$mail->Send();
}
catch (phpmailerException$e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
}
catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
?>
ในตัวอย่างหากคุณต้องการจะส่งเมล์ผ่านบริการของ gmail (หรือเว็บเราเอง แบบ ssl) คุณจะต้องมี username และ password ก่อนถึงจะส่งได้นะครับ ซึ่งถ้าเป็น gmail ก็หมายความว่าคุณต้องมี email ของ gmail เป็นสมบัติส่วนตัว ซึ่งคุณจะต้องใช้ ชื่อและรหัสผ่านของคุณกำหนดให้กับโค้ด ครับ
ข้อจำกัดของการส่งผ่านบริการของ gmail ก็อยู่ที่ส่งไ้ด้ไม่เกิน 100 เมล์ต่อวันครับ แต่ก็คงเพียงพอสำหรับการใช้งานทั่วไป
โค้ดนี้จะส่งเมล์เป็นแบบ UTF-8 โดยไม่มีปัญหาเรื่องภาษาทั้ง yahoo gmail และ hotmail นะครับ (เท่าที่ผมทดสอบ ซึ่งผมใช้อยู่บนเว็บ) คุณสามารถดาวน์โหลด โค้ด phpmailer ได้จากบนเว็บนี้แหละครับ