我正在使用Google的邮件服务器发送电子邮件。对于电子邮件发送,我正在使用PHPMailer。这是我在 example.com/contactus 网站上使用的代码片段:
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true; // enable SMTP authentication
$mail-> Host = 'ssl://smtp.gmail.com';
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "myprivateaddress@gmail.com"; // GMAIL username
$mail->Password = "myprivatepassword"; // GMAIL password
$mail->SetFrom($form_email, $form_username);
$mail->AddAddress("support@example.com", "Example Support");
$mail->AddReplyTo($form_email, $form_username);
$mail->Subject = $subject2;
$mail->Body = $message2;
$mail->CharSet = 'UTF-8';
$mail->Encoding = '8bit';
$mail->ContentType = 'text/html; charset=utf-8rn';
$mail->WordWrap = 70;
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
代码向我发送一封电子邮件(support@example.com),其标题为:
from: user1 <myprivateaddress@gmail.com>
reply-to: user1 <user1@gmail.com> (this is $form_email)
to: Example Support <support@example.com>
问题是当我使用不同的地址进行身份验证作为用户名和密码时,不会发送消息。错误是:
2013-11-02 14:46:18 SERVER -> CLIENT: 220 mx.google.com ESMTP u46sm21298429eep.17 - gsmtp 2013-11-02 14:46:18 CLIENT -> SERVER: EHLO www.example.com 2013-11-02 14:46:18 SERVER -> CLIENT: 250-mx.google.com at your service, [2a01:4f8:140:71ed::2] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN 250-ENHANCEDSTATUSCODES 250 CHUNKING 2013-11-02 14:46:18 CLIENT -> SERVER: AUTH LOGIN 2013-11-02 14:46:18 SERVER -> CLIENT: 334 VXNlcm5hbWU6 2013-11-02 14:46:18 CLIENT -> SERVER: ZGFwcHdhbGxAZ21haWwuY29t 2013-11-02 14:46:18 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2013-11-02 14:46:18 CLIENT -> SERVER: U3BvdGxpZ2h0OA== 2013-11-02 14:46:18 SERVER -> CLIENT: 534-5.7.14 Please log in via your web browser and then try again. 534-5.7.14 Learn more at https://support.google.com/mail/bin/answer.py?answer=787 534 5.7.14 54 u46sm21298429eep.17 - gsmtp 2013-11-02 14:46:18 SMTP ERROR: Password command failed: 534-5.7.14 Please log in via your web browser and then try again. 534-5.7.14 Learn more at https://support.google.com/mail/bin/answer.py?answer=787 534 5.7.14 54 u46sm21298429eep.17 - gsmtp 2013-11-02 14:46:18 CLIENT -> SERVER: QUIT 2013-11-02 14:46:18 SERVER -> CLIENT: 221 2.0.0 closing connection u46sm21298429eep.17 - gsmtp SMTP connect() failed. Mailer Error: SMTP connect() failed.
我不知道为什么它与我每天使用的私人Gmail帐户一起使用,为什么不能与我拥有的其他Gmail帐户一起使用。它应该是gmail中的一个设置,但哪一个呢?
好吧,我找不到为什么它不起作用。最后,我改成了SendGrid。他们提供了一个简单的API,我用我的基本技能在一个小时内设置了电子邮件发送。