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

时间:2016-08-15 16:29:23

标签: php email phpmailer mailcatcher

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

2 个答案:

答案 0 :(得分:2)

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

'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',

取决于聪明的邮件收集方式

答案 1 :(得分: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。