使用的PHPMailer无法发送电子邮件(Cannot send email using PHPMa

2019-10-28 20:44发布

我试图发送使用PHPMailer的电子邮件。 这是我写的代码。

    $mail = new PHPMailer;

    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'shamir.towsif@gmail.com';
    $mail->Password = '*********';
    $mail->Port = 25;

    $mail->From = 'shamir.towsif@gmail.com';
    $mail->FromName = 'Shamir Towsif';
    $mail->addAddress('shamir.towsif@gmail.com', 'Shamir Towsif');
    $mail->addReplyTo('shamir.towsif@gmail.com', 'Information');

    $mail->isHTML(true);

    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    if(!$mail->send()) {
        echo "Message could not be sent.\n";
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo 'Message has been sent';
    }

下面是我得到的错误。

Message could not be sent. Mailer Error: SMTP connect() failed.

我究竟做错了什么。 在这样的其他问题并没有帮助。 提前致谢。

Answer 1:

我面临着类似的问题,但我想你应该尝试添加该给你的代码:

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

这是PHPMailer的建议对于Gmail的设置,你可以看到一个在相应Github页面例子 。



Answer 2:

标题:发送电子邮件从服务器使用的PHPMailer和Gmail

以下是我解决了类似的问题:

  1. 从GitHub(下载PHPMailer的https://github.com/PHPMailer/PHPMailer )到您的计算机。

  2. 把它上传到你的服务器的.zip文件,然后单击提取图标提取出来。 文件夹重命名为“PHPMailer的”或任何你想要的名称。

  3. 里面的邮件发送PHP文件把下面的代码:

    require 'phpmailer/src/Exception.php'; require 'phpmailer/src/PHPMailer.php'; require 'phpmailer/src/SMTP.php'; $mail = new PHPMailer\PHPMailer\PHPMailer(); $mail->isSMTP(); $mail->SMTPDebug = 2; $mail->Host = 'smtp.gmail.com'; $mail->Port = 587; $mail->SMTPSecure = 'tls'; $mail->SMTPAuth = true; $mail->Username = "sender@gmail.com"; $mail->Password = "password"; $mail->setFrom('sender@gmail.com', 'Name'); $mail->addAddress('receiver@yahoo.com', 'Name'); $mail->Subject = 'Subject'; $mail->Body = 'This is a plain-text message body'; if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; }

  4. 保存PHP文件。

  5. 打开浏览器,登录到您在PHP脚本中使用您的Gmail(谷歌)帐户。

  6. 转到此链接: https://support.google.com/accounts/answer/6009563

  7. 扩展您的设备或应用程序可能不支持谷歌的安全标准 。

  8. 点击安全性较低的应用程序 。

  9. 切换允许不够安全的应用:为ON(如果是关闭的)。

  10. 展开两步骤验证不被应用支持

  11. 点击链接: https://accounts.google.com/DisplayUnlockCaptcha

  12. 点击Continue(继续)

  13. 打开浏览器的电子邮件发送PHP文件。

  14. 现在,电子邮件将被发送。

该技术为我工作。 我希望它会为你们工作,以及。

快乐编码:-)



Answer 3:

解决几乎相同的问题,通过将这些布线到标准PHPMailer的配置。 奇迹般有效。

$mail->SMTPKeepAlive = true;   
$mail->Mailer = “smtp”; // don't change the quotes!

所有使用的端口等TLS和默认设置SMTP设置标准得到遵守。 最后,我碰到这个代码(由陈立),而在此研究的解决方案,来https://webolio.wordpress.com/2008/03/02/phpmailer-and-smtp-on-1and1-shared-hosting/#comment -89



文章来源: Cannot send email using PHPMailer