2011-03-30 59 views
0

我想过滤发送的电子邮件。电子邮件与PHP邮件()函数一起发送。我希望在不修改任何PHP文件的情况下尽可能让电子邮件只发送到特定域的电子邮件,而不是其他邮件。我无权访问SMTP服务器。阻止发送非特定域名的电子邮件

+0

你认为这可能是可能的,而不需要触摸任何php文件,并且在发送邮件服务器中没有任何过滤器?唯一的方法是使用一些JavaScript,但是这并不能阻止用户杀死JavaScript并提交表单。 – ITroubs 2011-03-30 16:06:38

+1

我想你可以坐在主机设施外面,当他拿出满满是1和0的数字袋子时,拦截电子邮递员,用万用表/示波器把它们穿过它们,并且找出不适合的那些释放。 – 2011-03-30 16:15:06

回答

0

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

1

以防万一这可以帮助别人......如果电子邮件是在提交表单(或类似行为)后发送的,那么可以将表单html元素的action属性更改为指向一个新的php文件,一个过滤器。一旦通过(如果是),您将重定向到“正确”目的地以发送电子邮件。过滤可以是这样简单的:

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

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

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