ส่งเมล์จากเว็บของเราให้เข้า inbox hotmail ให้ได้ทุกครั้ง PHPMailer


หน้าแรก PHP MySQL เกร็ดความรู้ ส่งเมล์จากเว็บของเราให้เข้า inbox hotmail ให้ได้ทุกครั้ง PHPMailer
ก็บังเอิญว่าในเว็บ mocyc.com มีระบบที่ต้องส่งเมล์ถึงสมาชิกอยู่บ่อยครั้ง และจากการใช้งานระบบส่งเมล์บน Server เพื่อส่งเมล์ไปยัง Hotmail บางทีก็เข้า Inbox บ้าง บางทีก็ไปอยู่ Junkbox บ้าง บางทีไม่เข้าเลยก็มี ก็เลยต้องหาวิธีส่งเพื่อให้เข้า Inbox ให้ได้

ลองทั้งใช้คำสั่ง mail เอง และ ใช้ SMTP เพื่อส่งก็ยังเจออาการเดิมๆ

ปกติผมจะใช้ PHPmailer ในการส่งเมล์อยู่แล้ว พอเจอปัญหาส่งเมล์ไม่เข้าหนักขึ้นๆ ผมก็เลยต้องเปลี่ยนมาเป็น ใช้ PHPMailer ส่งผ่าน Gmail ซึ่งก็สามารถส่งเมล์เข้า Inbox Hotmail ได้ทุกครั้งเช่นกัน แต่มันติดอยู่ที่ Gmail ให้ส่งได้ไม่เกิน 100 Mail ต่อวันเท่านั้น (ทำไมน้อยจังฟ่ะ)

ตามไปอ่าน เขียน php ส่งเมล์ด้วย PHPMailer ด้วย Gmail Account ได้จากเว็บ 9aum ส่วนวิธีการใช้งาน PHPMailer ขอไม่พูดถึงครับ ไปดูเพิ่มเติมได้ที่ http://phpmailer.worxware.com/

ก็จากที่ใช้ Gmail แล้วมีปัญหาว่ามันส่งได้แค่วันละ 100 Mail ต่อวัน นี่เอง จึงทำให้เกิดปัญหาว่าเมื่อเกิน 100 ไปเมล์ก็จะส่งไม่ถึงจุดหมาย ก็เลยต้องหาวิธีใหม่…

และแล้วก็พบทางสว่าง เมื่อได้เห็นข้อความนี้ Yahoo Mail email send limit - no more than 100 emails or recipients per hour โดยที่ทาง Yahoo.com สามารถให้ส่งเมล์ได้ถึง 100 Mail ไม่ใช่ต่อวัน แต่เป็นต่อชั่วโมง……โอ้วแม่เจ้า

ก็จัดแจงเปลี่ยนค่าตัวแปรในสคริปส่งเมล์ดูสิว่าจะส่งได้ไหม

            $mail   = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth   = true;
$mail->Host       = “smtp.mail.yahoo.com”;
$mail->Port       = 25;
$mail->Username   = “youruser@yahoo.com”;
$mail->Password   = “password”;

$mail->SetFrom(”youruser@yahoo.com”, “Mocyc Dot Com”);
$mail->AddReplyTo(”youruser@yahoo.com”,”Mocyc Dot Com”);

$message = “มีคนตอบประกาศของท่านใน Mocyc.com<br /><br />”;
$message .= “URL : <a href=”http://www.mocyc.com/store/” target=”_blank”>http://www.mocyc.com/store/</a><br /><br />”;
$message .= “หมายเหตุ : อีเมล์นี้เป็นอีเมล์อัตโนมัติจาก Mocyc.com ไม่ต้องตอบกลับ<br /><br />”;

$mail->Subject = ‘Comment on your classified Mocyc.com’;

$mail->MsgHTML($message);

$address = $arr_member[’email’];
$mail->AddAddress($address, “”.$arr_data[’name’].”");

$mail->Send();

ได้ครับ ผมลองส่งให้ตัวเองกว่า 100 ครั้งต่อชั่วโมง ยังส่งได้ ไม่มีหลุดครับ เข้า Inbox ตลอดครับ
27-4-2553-2-16-39.jpg


ก็ลองใช้งานกันดูนะครับไม่ได้ยากอะไรมากนักเลย

refer: http://www.myblog.in.th/2010/04/27/phpmailer_with_yahoo/


ขึ้นไปด้านบน