簡體   English   中英

使用Gmail的PHPMailer無法發送

[英]PHPMailer Using Gmail Not Sending

我正在使用PHP Mailer( https://github.com/PHPMailer/PHPMailer ),由於某種原因,它無法與gmail一起使用。 有人知道我應該使用其他設置嗎?

 function send_email($mail_content,$subject,$email,$name)
        {
            include_once('third-party/mail/phpmailer-master/PHPMailerAutoload.php');     
            $php_mailer_mail = new PHPMailer;   
            $php_mailer_mail->isSMTP();
            $php_mailer_mail->Host = 'smtp.gmail.com';
            $php_mailer_mail->SMTPAuth = true;
            $php_mailer_mail->Username = 'email@gmail.com';
            $php_mailer_mail->Password = 'password';
            $php_mailer_mail->SMTPSecure = 'ssl';
            $php_mailer_mail->Port = 465;
            $php_mailer_mail->From = 'email@gmail.com';
            $php_mailer_mail->FromName = 'Me';
            $php_mailer_mail->addAddress($email, $name);  
            $php_mailer_mail->isHTML(true);
            $php_mailer_mail->Subject = $subject;
            $php_mailer_mail->Body = $mail_content;
            $php_mailer_mail->send();
        }

確保在gmail設置中啟用IMAP。 smtp不是IMAP,但是Google會丟棄您帳戶的smtp請求,除非您的帳戶設置中啟用了該請求。

您可能還想嘗試使用TLS加密的端口587。

你有什么錯誤嗎?

如果$php_mailer_mail->send(); 返回false您可以檢查$php_mailer_mail->ErrorInfo

無論如何,您應該使用端口587tls而不是ssl

$php_mailer_mail->Port = 587;
$php_mailer_mail->SMTPSecure = 'tls';

你可以看看

https://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps

此外(來自上面鏈接的示例)

SMTP需要准確的時間,並且必須設置PHP時區。這應該在php.ini中完成,但是如果沒有訪問權限,這就是這樣做的方法

date_default_timezone_set('Etc/UTC');

該行必須在腳本的開頭。 當然,請仔細檢查用戶名和密碼。

希望能幫助到你...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM