3

我有一个可能有点愚蠢的问题,但我无法解决我的问题:我正在开发一个应用程序,我必须在其中向用户发送电子邮件,这就是我使用 PHPMailer 库的原因。我使用 Google 的 smtp 服务器测试了该应用程序,并且电子邮件按预期发送。现在我安装了 mailcatcher 以便在本地测试我的电子邮件,但我不知道该怎么做。在mailcatcher的文档中是这样写的: Send mail through smtp://localhost:1025 How to do this with 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 ,但未传递消息。谢谢 !

4

2 回答 2

3

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

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

于 2016-08-15T16:35:15.417 回答
0

很容易将端口设置为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。

于 2016-08-15T16:35:15.500 回答