我想在OS X 10.9上发送带有这个小PHP脚本的邮件。
mail($_POST['to'], $_POST['subject'], $_POST['message'], "From: " . $_POST['from']);
该方法返回true但消息永远不会到达我的收件箱:(我已经锁定了来自postfix的错误消息,他们告诉我它因垃圾邮件而被阻止。
Mar 6 11:30:38 xxxs-MacBook-Pro.local postfix/pickup[69960]: BB98E14DD64A: uid=70 from=<_www>
Mar 6 11:30:38 xxxs-MacBook-Pro.local postfix/cleanup[70313]: BB98E14DD64A: message-id=<20140306103038.BB98E14DD64A@xxxs- MacBook-Pro.local>
Mar 6 11:30:38 xxxs-MacBook-Pro.local postfix/qmgr[69961]: BB98E14DD64A: from=<_www@xxxs-MacBook-Pro.local>, size=384, nrcpt=1 (queue active)
Mar 6 11:30:39 xxxs-MacBook-Pro.local postfix/smtp[70315]: BB98E14DD64A: to=<xxx@xxx.com>, relay=mx3.me.com.akadns.net[17.172. 34.65]:25, delay=0.67, delays=0/0/0.53/0.14, dsn=5.7.1, status=bounced (host mx3.me.com.akadns.net[17.172.34.65] said: 550 5.7.1 Mail from IP 95.91.221.96 was rejected due to listing in Spamhaus PBL. For details please see http://www.spamhaus.org/query/bl?ip=95. 91.221.96 : xxx@xxx.com (in reply to RCPT TO command))
Mar 6 11:30:39 xxxs-MacBook-Pro.local postfix/cleanup[70313]: 8C52414DD64D: message-id=<20140306103039.8C52414DD64D@xxxs- MacBook-Pro.local>
Mar 6 11:30:39 xxxs-MacBook-Pro.local postfix/bounce[70316]: BB98E14DD64A: sender non-delivery notification: 8C52414DD64D
Mar 6 11:30:39 xxxs-MacBook-Pro.local postfix/qmgr[69961]: 8C52414DD64D: from=<>, size=2669, nrcpt=1 (queue active)
Mar 6 11:30:39 xxxs-MacBook-Pro.local postfix/qmgr[69961]: BB98E14DD64A: removed
Mar 6 11:30:39 xxxs-MacBook-Pro.local postfix/local[70317]: 8C52414DD64D: to=<_www@xxxs-MacBook-Pro.local>, relay=local, delay=0, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Mar 6 11:30:39 xxxs-MacBook-Pro.local postfix/qmgr[69961]: 8C52414DD64D: removed
我怎么能绕过这个?
干杯丹尼尔
答案 0 :(得分:2)
IP列在spamhaus中:
Mail from IP 95.91.221.96 was rejected due to listing in Spamhaus PBL.
Spamhaus PBL是最终用户IP地址范围的DNSBL数据库,不应向任何Internet邮件服务器提供未经身份验证的SMTP电子邮件,除非ISP专门为该客户使用提供这些邮件服务器。 PBL可帮助网络对动态和非MTA客户IP范围实施其可接受使用策略。
这仅表示您使用ISP提供的IP来发送电子邮件。 ISP主动禁止此操作以防止其客户发送垃圾邮件。最简单的解决方案是使用ISP提供的SMTP服务器。您可以在php.ini中将其配置为默认服务器而不是localhost:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = mail.yourISP.com
; http://php.net/smtp-port
smtp_port = 25
有许多理由不使用PHP的本地mail()函数来发送邮件。最着名的替代方案是PHPMailer。此代码具有自己的内置SMTP客户端,以最恰当的方式发送邮件。您可以轻松地将其集成到您的软件中,以进一步防止您的邮件被标记为垃圾邮件。