【问题标题】:How to send emails to Mailcatcher with PHPMailer?如何使用 PHPMailer 向 Mailcatcher 发送电子邮件?
【发布时间】:2016-08-15 16:29:23
【问题描述】:

我有一个可能有点愚蠢的问题,但我无法解决我的问题: 我正在开发一个必须向用户发送电子邮件的应用程序,这就是我使用 PHPMailer 库的原因。我使用 Google 的 smtp 服务器测试了该应用程序,并且电子邮件按预期发送。现在我安装了 mailcatcher 以便在本地测试我的电子邮件,但我不知道该怎么做。 在 mailcatcher 的文档中写道: 通过 smtp://localhost:1025 发送邮件 如何用 PHPMailer 做到这一点?目前我有:

'SMTPDebug'=> 2 ,
'Host' => 'smtp.gmail.com',
'Username'=>'XXXX@gmail.com',
'Password'=>'XXXXXX',
'SMTPSecure'=>'tls',
'Port'=>587,
'From'=> 'test',
'FromName'=> 'test',
'Subject'=>'test',
'IsHTML'=>true

我需要改变什么?我尝试将主机更改为 smtp://localhost:1025 ,但未传递消息。 谢谢!

【问题讨论】:

标签: php email phpmailer mailcatcher


【解决方案1】:

这似乎是最有可能改变的两件事

'SMTPDebug'=> 2 ,
//'Host' => 'smtp.gmail.com',
'Host' => '127.0.0.1',
'Username'=>'XXXX@gmail.com',
'Password'=>'XXXXXX',
'SMTPSecure'=>'tls',
//'Port'=>587,
'Port'=>1025,
'From'=> 'test',
'FromName'=> 'test',
'Subject'=>'test',
'IsHTML'=>true

您可能还需要删除

SMTPSecure'=>'tls',

取决于 mailcather 的聪明程度

【讨论】:

    【解决方案2】:

    很容易将端口设置为 1025 并将主机设置为 localhost。

    'SMTPDebug'=> 2 ,
    'Host' => 'localhost',
    'Username'=>'XXXX@gmail.com',
    'Password'=>'XXXXXX',
    'SMTPSecure'=>'tls',
    'Port'=>1025,
    'From'=> 'test',
    'FromName'=> 'test',
    'Subject'=>'test',
    'IsHTML'=>true
    

    mailcatcher 监听该端口并捕获该端口上的所有电子邮件。

    然后本地脚本可以在 localhost 端口 1025 连接到 SMTP。 此外,默认情况下,Web 界面在端口 1080 上可用。”

    如果连接不接受 TLS,您可能必须禁用 TLS 才能使用 mailcatcher。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 2014-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多