A-AA+then

เกี่ยวกับการส่งเมล์ครับ

1,378
อันนี้โค๊ดส่งเมลครับ

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 เป็นค่าสมมุติครับ

5 ความคิดเห็น

ผมเจอปัญหาแล้วครับ เนื่องจาก domain เป็น domain .net ตอนนี้ผมส่ง SetFrom() ผมก็ใช้ usermail เป็น xxxx.net ทำให้เกิด error ครับ แต่ถ้าผมใช้ usermail เป็น gmail หรือ hotmail สามารถส่งได้ครับ

เหอๆ ทำไงดีครับ
1

55++

ถ้าส่งบน server ตัวเอง ให้ กำหนด user+pass ให้ phpmailer ด้วยครับ (user+pass ของ mail account บน server)
2

กำหนดแล้วครับ คือปัญหามันมีอยู่ว่า สมมุติว่าผมใช้ชื่อเว็บเป็น boongbungy.net นะครับ ตอนที่ผมส่งเมลให้คนอื่น ตรง ที่บอกว่าส่งมาจากใคร ผมก้อยากให่้ส่งมาจาก
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");
สามารถส่งผ่านครับ
3

error ข้างต้น เป็น error ที่เกิดจาก mail server ครับ

ถ้าเป็น server ตัวเองลองตรวจสอบการตั้งค่าของ mail server ครับ อาจไม่ได้เปิดโหมด relaying ไว้ครับ
4

ไม่ทราบเป็นที่อะไรเหมือนกันครับ ผมลองเปลี่ยนเป็น contact@boongbungy.net ได้นะครับ ไม่ได้อยู่ ยูเซอร์เดียวคือ info@boongbungy.net

indecision
5
^