如何使用 PHPMailer 向 Mailcatcher 发送电子邮件?

How to send emails to Mailcatcher with PHPMailer?

我有一个问题可能有点愚蠢,但我无法解决我的问题: 我正在开发一个应用程序,我必须在其中向用户发送电子邮件,这就是我使用 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 ,但未传递消息。 谢谢!

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

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

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

Local scripts can then connect to SMTP at localhost port 1025. Additionally, the web interface is available at port 1080 by default."

如果连接不接受 TLS,您可能必须禁用 TLS 才能与 mailcatcher 一起工作。

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

'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 的聪明程度