当前位置: 首页 > 知识库问答 >
问题:

PHPMailer不适用于gmail

阎建德
2023-03-14

在尝试让我的PHPMailer运行gmail几天后,我必须在这里找到一些帮助。我几乎阅读了我在这里或谷歌上找到的所有东西,但直到现在,这些想法都没有帮助。我使用*Windows 7家庭基本*Wampserver 2.2与PHP vers.PHP版本5.4.3所有必要的扩展都像php_opensll一样设置

这是我正在使用的脚本:

<?php
//require 'PHPMailerAutoload.php';                                              // <<== I have tried this also - no sucess

require 'class-phpmailer.php';
require "class-smtp.php"; //"PHPMailerAutoload.php";
// $mail->PluginDir //WB, 30 Nov 2014:omited if all files from phpmailer are in the same folder
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->Mailer = 'smtp';
$mail->SMTPAuth = true;
// I have tried both - TLS and SSL - with the required ports ==>> both are not working 
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
// or try these settings (worked on XAMPP and WAMP):
//$mail->Port = 587;
//$mail->SMTPSecure = 'tls';

$mail->Username = "wie****@gmail.com";      //my password ==>> works if I make a login oline to my account
$mail->Password = "*************";  //my password ==>> works if I make a login oline to my account

$mail->SMTPDebug  = 2;                      // <<== enables SMTP debug information (for testing)

$mail->IsHTML(true);    // if you are going to send HTML formatted emails
$mail->SingleTo = true; // if you want to send a same email to multiple users. multiple emails will be sent one-by-one.

$mail->From = "wie****@gmail.com";                  //my gmail mail account
$mail->FromName = "My Name";

$mail->addAddress("art******@yahoo.com","art******"); //my yahoo mail account
//$mail->addAddress("user.2@gmail.com","User 2");

//$mail->addCC("user.3@ymail.com","User 3");
//$mail->addBCC("user.4@in.com","User 4");

$mail->Subject = "Testing PHPMailer with localhost";
$mail->Body = "Hi,<br /><br />This system is working perfectly.";

if(!$mail->Send())
    echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo;
else
    echo "Message has been sent";
?>

我已经在尝试我能在网上找到的任何变化,但没有任何效果。

我用“phpmailautoload”试过了。php“and”类。phpmailer。php“按需类-”$mail-

以下是调试日志文件:

使用带有端口587的TLS时调试日志

SMTP-

SMTP服务器错误:5.5.1需要身份验证。在530了解更多信息5.5.1http://support.google.com/mail/bin/answer.py?answer=14257cq6sm24503844pad.30-gsmtp消息未发送PHPMailer错误:以下来自地址失败:wiedeia@gmail.com:不接受来自服务器的邮件,530,5.5.1身份验证需要。了解更多信息在530 5.5.1http://support.google.com/mail/bin/answer.py?answer=14257cq6sm24503844pad.30-gsmtp

SMTP服务器错误:5.5。1需要身份验证。在530 5.5了解更多信息。1.http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad。30-gsmtp

SMTP服务器错误:5.5。1需要身份验证。在530 5.5了解更多信息。1.http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad。30-gsmtp

使用端口465的SSL时的调试日志

SMTP-

SMTP服务器错误:5.5。1需要身份验证。在530 5.5了解更多信息。1.http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc。37-未发送gsmtp消息PHPMailer错误:以下发件人地址失败:wiedeia@gmail.com:不接受来自服务器的邮件,530,5.5。1需要身份验证。在530 5.5了解更多信息。1.http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc。37-gsmtp

SMTP服务器错误:5.5。1需要身份验证。在530 5.5了解更多信息。1.http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc。37-gsmtp

SMTP服务器错误:5.5。1需要身份验证。在530 5.5了解更多信息。1.http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc。37-gsmtp

我检查了gmail提供的调试链接。但什么都不管用。当我使用相同的用户信息和密码登录到我的web帐户时,它就起作用了。

我还遵循了我在网上找到的建议,允许使用不太安全的应用程序。我还允许使用该链接访问我在谷歌的账户https://accounts.google.com/DisplayUnlockCaptcha

然后我用端口扫描器检查了端口,两个端口都被称为关闭。但我想他们会在申请时打开。使用telnet smtp进行检查。gmail。com是成功的。

我也尝试了脚本,但没有运行任何防病毒和防火墙-没有结果。

慢慢地,我对这个问题有点生气。也许有人能帮我。

安德烈亚斯

共有1个答案

阳凌
2023-03-14

亚瑟,不知道正确的细节就回答问题是愚蠢的。我的意思是,如果你启用了双因素身份验证,你需要设置一个应用程序特定的密码来代替你的电子邮件帐户密码。

您可以按照以下说明生成特定于应用程序的密码:https://support.google.com/accounts/answer/185833

然后设置$mail-

随机工作:有时,我们必须为一些帐户启用两步骤验证,然后它将工作(我不知道它背后的正确原因,但这对一些帐户有效)

但是从外面,这里有一些提示来解决这个问题: 1)再次检查[你说你检查过了]SSL正确配置在你的PHP上(处理它的模块默认情况下不会安装在PHP上。您必须在phph.ini)中检查您的配置。2)检查您的防火墙是否允许向所需端口发出呼叫(这里是465或587)。使用telnet这样做。如果没有打开端口,则需要sysdmin提供一些支持来设置配置。3)打开这个https://support.google.com/mail/answer/14257?hl=en并选择按照说明,谷歌服务器阻止任何来自未知服务器的尝试,所以一旦你点击验证码检查一切都会好的

我希望你能尽快解决这个问题!

 类似资料:
  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。

  • 列名称的类型为int[] 上述查询适用于postgresql,但不适用于hsqldb,甚至适用于sql 尝试的hsqldb版本:2.2.9和2.3.0 在hsqldb中工作的sql是从table_name中选择x,unnest(column_name)y(x)x和y不是该表的列。

  • 我能够成功地打电话给邮递员: /mfp/api/az/v1/token和 /mfpadmin/management-apis/2.0/runtimes/mfp/applications 我正在获取从/mfp/api/az/v1/token接收的承载令牌,并将其添加到/mfp/applications的授权标头中。 我收到了来自两者的200个响应,并从每个API中获取了预期的信息。 然后,我选择从P

  • 我一直在使用声纳3.2 同样的配置,当我升级到SonarQube 4.4时 声纳项目属性: 请帮助整理这些例外 问候, KP

  • 我已经看过并尝试了几乎所有关于这个话题的其他帖子,但运气不好。 我使用的是python 3.6,所以我使用的是以下AMI