代码之家  ›  专栏  ›  技术社区  ›  F.P

为公司防火墙优化mail()

  •  1
  • F.P  · 技术社区  · 14 年前

    我正在为我的公司制作一份时事通讯——收件人很可能是使用公司电子邮件地址的其他公司的员工。

    mail() ,它通常会被防火墙捕获,并将其标记为垃圾邮件,因为它是由Web服务器发送的。

    我怎样才能优化我的功能,使被拒绝的邮件数量在某种程度上减少。我肯定我不能达到100%,但至少大多数收件人应该得到他们的邮件。

    目前,函数的外观如下:

    mail($email, $subject, $message, '-f info@mycompany.com\r\nfrom: noreply@mycompany.com\r\nreply-to: info@mycompany.com');
    
    3 回复  |  直到 14 年前
        1
  •  2
  •   edorian    14 年前

    关于这个话题,我见过的最好的读物是:

    http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

    希望对你也有帮助

        2
  •  1
  •   Marc B    14 年前

    如果你想弄清楚是什么导致你的邮件被当成垃圾邮件,而不是坐在那里随意更改邮件头/内容,你可能会更走运。如果您有(或可以)访问垃圾邮件过滤器的日志,请查看到底是什么原因导致您的邮件被屏蔽。

    可能是来自你发送的主机的任何东西,主题行,黑名单的单词,格式错误的标题,以及一些其他的原因。

        3
  •  1
  •   Brian Webster Jason    12 年前

    邮件($email,$subject,$message,'-f)info@mycompany.com\r\n从:noreply@mycompany.com\r\n答复:info@mycompany.com');

    当然应该是这样的:

    mail($email, $subject, $message, 
     'From: noreply@mycompany.com\r\nReply-To: info@mycompany.com',
     '-f info@mycompany.com');
    

    反向工程/绕过垃圾邮件过滤器应该不容易-但你可以从仔细研究spamassassin如何决定什么是垃圾邮件和什么不是垃圾邮件开始。当然,有一个没有实现贝叶斯过滤的垃圾邮件过滤器是不寻常的-去看看手册如何正确地培训它。