阻止发送非特定域的电子邮件

时间:2011-03-30 15:48:30

标签: php email smtp block

我想过滤发送的电子邮件。使用PHP mail()函数发送电子邮件。我希望,如果可能的话,不修改任何PHP文件,只允许电子邮件发送到特定域的电子邮件,而不是其他人。我无法访问SMTP服务器。

2 个答案:

答案 0 :(得分:1)

以防这有助于某人...如果在提交表单(或类似操作)后发送电子邮件,您可以将表单html元素的action属性更改为指向一个新的php文件,该文件充当过滤。一旦通过(如果是),您将重定向到“正确”目的地以发送电子邮件。过滤可以像以下一样简单:

$good = "*@mydomain.foo, *@localhost";

$good = explode(',', $good);

if (pattern_grep($_POST['email'], $good)) {
   // action
}

答案 1 :(得分:0)

您应该能够查看“to”字段的关联数组,并使用php regex类来匹配您列入黑名单的域。