配置PHP以仅将所有邮件发送到一个帐户

时间:2010-07-27 17:40:02

标签: php email

如何配置PHP以将所有外发邮件发送到我自己的帐户,以便我可以测试业务应用程序而无需实际向不知情的企业发送邮件,例如“恭喜,您有一个新帐户。您需要支付$ xxx“?

5 个答案:

答案 0 :(得分:2)

不是配置PHP,而是一个通用的解决方案就是建立虚拟SMTP服务器。

请参阅this question

答案 1 :(得分:0)

所以你已经编写了应用程序并使用了实时电子邮件地址,现在你想测试它吗?您是否使用集中功能进行邮件或是否有大量的mail()调用代码?抱歉,您将不得不更改每个mail()电话。帮自己一个忙,用自己的功能替换它们,然后在那个位置处理测试/实时功能。

答案 2 :(得分:0)

您可以将运行PHP的服务器上的所有端口25流量重定向到邮件服务器/端口,该邮件服务器/端口会向您发送所有邮件。

这是我所知道的唯一100%万无一失的方法。

答案 3 :(得分:0)

您可以创建Google Apps帐户(或使用您的虚拟服务器),创建一个包罗万象的电子邮件帐户并将其发送到域。您所要做的就是查看全能帐户。

答案 4 :(得分:0)

我找到了这个网站:http://dummysmtp.com/

我的服务器正在运行qmail,所以我编辑了/ var / qmail / control / smtproutes的内容,如下所示:

  

:smtp.dummysmtp.com 用户名 密码

当我发送一封带有PHP mail()的简单邮件时,它有效,但后来我发现邮件仍然传递给其他人。我不得不爬进代码的内容,发现了这个:

/* Choose the mailer */
switch($this->Mailer) {
  case 'sendmail':
    $result = $this->SendmailSend($header, $body);
    break;
  case 'smtp':
    $result = $this->SmtpSend($header, $body);
    break;
  case 'mail':
    $result = $this->MailSend($header, $body);
    break;
  default:
    $result = $this->MailSend($header, $body);
    break;
    //$this->SetError($this->Mailer . $this->Lang('mailer_not_supported'));
    //$result = false;
    //break;
}

所以我必须确保每个选项都配置为将其邮件发送到dummysmtp.com。一旦我明白了,这一切都奏效了。