[英]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
無論如何,您應該使用端口587
和tls
而不是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.