是否有可能只允许PHP邮件发送到php.ini级别的某些电子邮件地址

时间:2011-04-15 16:37:31

标签: sendmail php

每当我在一个向用户发送电子邮件的网站上进行开发时,我必须记住注释掉mail()代码,以便我不小心触发通知电子邮件,同时摆弄和调试,这很痛苦,我偶尔会忘记并发送电子邮件给别人。

有没有办法在php.ini级别(或其他一些低级别)的电子邮件地址强制执行白名单,也允许mail()发送?

其他人是否有巧妙的方法来避免这个问题?

3 个答案:

答案 0 :(得分:3)

我会在SMTP级别执行此操作。在那里配置它并让PHP使用仅用于开发的特定SMTP服务器。

答案 1 :(得分:0)

为什么没有为您的网站设置maintenance mode设置?

if ($maintenance_mode) {
    // only send mail to admin
} else {
    // send mail to users
}

答案 2 :(得分:0)

不是那个级别,但有各种解决方法:

  • 将您的外发SMTP服务器设置为不转发邮件的服务器(即禁止在SMTP服务器上转发;这可能是最简单的,因为您不必在代码中的任何位置处理过滤)
  • 使用像phpMailer这样的包装器,并扩展其send()方法,在那里进行过滤(非常有用,因为你可以将实际的收件人更改为例如your.own.address@example.com,所以你仍会看到邮件正在外出,但重定向到你自己)