是否可以在 php.ini 级别仅允许 PHP 邮件发送到某些电子邮件地址

发布于 2024-11-02 03:29:18 字数 198 浏览 0 评论 0原文

每当我在向用户发送电子邮件的网站上进行开发时,我都必须记住注释掉 mail() 代码,这样我就不会在摆弄和调试时意外触发通知电子邮件,这是一种痛苦,有时我会忘记并在我无意的时候向人们发送电子邮件。

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

其他人有聪明的方法来避免这个问题吗?

Whenever I'm doing development on a site which sends emails to users I have to remember to comment out the mail() code so that I don't accidentally trigger the notification email whilst fiddling around and debugging, it's a pain and occasionally I forget and send emails to people when I didn't mean to.

is there a way to enforce a whitelist at the php.ini level (or some other low level) of email addresses that mail() is allowed to send too?

Do other people have clever ways of avoiding this issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

羞稚 2024-11-09 03:29:18

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

I would do this at the SMTP level. Configure it there and have PHP use a specific SMTP server that is only for development.

站稳脚跟 2024-11-09 03:29:18

为什么不为您的网站设置维护模式

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

Why not have a maintenance mode setting for your site?

if ($maintenance_mode) {
    // only send mail to admin
} else {
    // send mail to users
}
甚是思念 2024-11-09 03:29:18

不在该级别,但有多种解决方法:

  • 将您的外发 SMTP 服务器设置为不转发邮件的服务器(即禁止在 SMTP 服务器上转发;这可能是最简单的,因为您不必在任何地方处理过滤在您的代码中)
  • 使用像 phpMailer 这样的包装器,并扩展其 send() 方法,在那里进行过滤(很有用,因为您可以将实际收件人更改为例如 [电子邮件受保护],因此您仍然会看到邮件正在发出,但会重定向到您自己)

Not at that level, but there are various workarounds:

  • set your outgoing SMTP server to one that doesn't forward the mail (i.e. forbid the forwarding at SMTP server; this may be easiest, as you don't have to handle the filtering anywhere in your code)
  • use a wrapper like phpMailer, and extend its send() method, do the filtering there (useful as you can change the actual recipient to be e.g. [email protected], so you'll still see that mails are going out, but redirected to yourself)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文