2009-12-27 62 views
0

相关,可能重复PHP mail stopped workingPHP`邮件()`问题

您好;

我有一个网站托管在GoDaddy,处理几个新闻网站和电子邮件的文章摘要。它一直工作正常,直到两天前我停止接收电子邮件。 mail()返回true,并发送基本文本电子邮件时,我收到它们,只有HTML我不能收到!任何想法的原因或如何解决这个问题?

感谢


更新: 这是我使用的代码(PHP):

$headers = 'From: Aggregator Daemon' . "\r\n";

$headers .= 'MIME-Version: 1.0' . "\r\n";

$headers .= 'Content-type: text/html; charset=windows-1252' . "\r\n";

$mailres=mail("[email protected]","GN Aggregator - $today Bulletin",$ebody,$headers);

感谢

+0

你的意思是不能接受,他们没有到达或他们到达破碎? – 2009-12-27 09:21:28

+0

检查您的垃圾邮件过滤器,并检查GoDaddy是否有新政策禁止您发送HTML电子邮件。 – You 2009-12-27 09:25:44

+0

@Pekka:我无法在我的POP客户端中收到它们 – Moutaz 2009-12-27 09:28:31

回答

0

我首先想到的是,也有一些是靠不住的头,特别是内容类型或编码。

也就是说,GoDaddy服务器或其中一个MTA导致您的电子邮件因某种原因被拒绝而发生了变化。

没有看到某些代码就没有办法分辨出来。

另外,请阅读this question了解更多信息。

1

我总是推荐在处理发送邮件时使用类似SwiftMailer的东西。它很好地处理所有头文件等。

0

尝试设置Return-Path标题,以便收到退回的电子邮件。这不能在“附加标题”参数中设置,而是在mail函数的“附加参数”参数中设置。在Linux的托管帐户,你这样做:

mail($to, $subject, $ebody, $headers, '-f [email protected]'); 
0

我会推荐使用PHP Mailer。我在脚本中使用它很容易实现,并且它可以正常工作。它也被WordPress使用。