【发布时间】:2015-02-04 19:48:44
【问题描述】:
当我向它发送请求时,请求超时。此代码已在同一目录中的另一个脚本上工作。我刚刚通过浏览器登录到 gmail 以确保一切正常。 $mail->ErrorInfo 的记录值为:SMTP connect() failed.
知道为什么这可能会在 11 月起作用,但现在当我将其复制到另一个脚本时会引发错误?
$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->CharSet = 'UTF-8';
$mail->Debugoutput = 'html';
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Username = "xxxxxx@gmail.com";
$mail->Password = "xxxxxxxxxx";
$mail->setFrom('xxxxxxxxxxx@gmail.com', 'xxxxxxxx');
$mail->addReplyTo('xxxxx@gmail.com', 'xxxxxx');
$mail->addAddress($email, $name);
$mail->Subject = 'Your License Information';
$mail->Body = $message;
我尝试了另一个 gmail 帐户,并尝试使用 Gmail 为您提供的应用密码。
【问题讨论】:
-
你应该使用调试选项,你是使用你的gmail帐户密码还是应用程序密码?
-
糟糕,刚刚看到
$mail->ErrorInfo位,创建应用密码并使用security.google.com/settings/security/apppasswords -
太棒了,谢谢。我试过了,但这是页面上唯一的应用程序:i.imgur.com/S1IoI8Y.png
-
只需访问上面的链接,创建一个邮件应用密码,然后使用该密码代替您的标准密码。它不是一个许可的东西,它是一个设置并忘记密码
-
您可能遇到了this,the docs on this subject 对此进行了介绍。
标签: php email smtp gmail phpmailer