【问题标题】:PHP - Problems sending a mail through the gmail SMTP using SwiftMailerPHP - 使用 SwiftMailer 通过 gmail SMTP 发送邮件时出现问题
【发布时间】:2014-11-20 23:41:36
【问题描述】:

我正在处理表单:提交表单后,我需要使用 gmail 帐户发送邮件。我已经设置了 SwiftMailer,似乎一切都设置正确,但没有任何反应。 我已将表单的“操作”设置为此 php 文件:

    <?php
    require_once '/assets/swift-mailer/lib/swift_required.php';

    // variables
    $visitor_email = $_POST['email'];
    $visitor_phone = $_POST['phone'];
    $visitor_page = $_POST['site'];


    $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
      ->setUsername('mail@gmail.com')
      ->setPassword('mypassword');

    $mailer = Swift_Mailer::newInstance($transport);

    $message = Swift_Message::newInstance('New submission')
      ->setFrom('mail@gmail.com')
      ->setTo('myothermail@domain.com')
      ->setBody("New submission from this site: \n
               $visitor_page \n
               e-mail address: $visitor_email \n
               phone number: $visitor_phone");

    $result = $mailer->send($message);
    ?>

我已经仔细检查了 PHP 的版本,并且在服务器上没问题。 php_openssl 已启用。 服务器运行正常。 html 文件中的表单没问题,它关联了“method = post”。库已正确放置在服务器文件夹中。我真的不明白这是怎么回事。

【问题讨论】:

    标签: php email smtp swiftmailer


    【解决方案1】:

    也许没有发送邮件的原因有很多...您想检查 apache error_log 和浏览器网络吗..或者您可以在脚本中设置 error_reporting(E_ALL)。可能是 google smtp 问题或其他问题。首先你必须澄清你的问题,然后你可以做任何事情。如果你上传你的错误,那么任何人都可以帮助你。

    你可以试试这个,但我不确定它是否对你有用

       $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls');
    

    而不是

        $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多