0

我正在使用 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-8\r\n';
        $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中的一个设置,但是哪个?

4

1 回答 1

0

好吧,我不知道为什么它不起作用。最后,我更改为 SendGrid。他们提供了一个简单的 API,我用我的基本技能在一个小时内设置了电子邮件发送。

于 2014-05-04T10:59:40.610 回答