【发布时间】:2014-03-15 11:08:19
【问题描述】:
我的 php 邮件程序有一些问题,我只收到未解释的源代码。
有人可以检查我的标题吗?
$recipient = str_replace(Array("\r","\n"),"",$this->to);
$headers = 'From: "xxx.ch" <contact@xxx.ch> '."\r\n";
$headers .= 'Return-Path: <postmaster@xxx.ch>' . "\r\n";
if ( isset($this->replyTo) ){
$headers .= 'Reply-To: contact@xxx.ch' . "\r\n";
}
$random_hash = md5(date('r', time()));
$headers .= "MIME-Version: 1.0 \r\n Content-Type: multipart/alternative; boundary=\"".$random_hash."\"";
$body = '--'.$random_hash."\r".'
Content-Type: text/plain; charset="UTF-8"'."\r".'
Content-Transfer-Encoding: 8bit'."\r".'
Merci d\'utiliser un client mail supportant le format HTML'."\r".'
--'.$random_hash."\r".'
Content-Type: text/html; charset="UTF-8"'."\r".'
Content-Transfer-Encoding: 8bit'."\r";
$body .= $this->HTMLBody ."\r".'--'.$random_hash.'--';
谢谢
【问题讨论】:
-
您的服务器设置为发送电子邮件吗?正在运行什么 SMTP 服务?是否正确配置 PHP 以发送电子邮件?
-
是的服务器配置没问题,但是对于一些旧的邮件客户端不支持 html,所以我必须添加对它们的支持,现在使用 MIME 我有很多错误:-(
-
您是否考虑过使用 PEAR 的 MIME 邮件包而不是手动操作?
-
感谢您的帮助,但我无法在我的服务器上安装新软件包...
-
那么,不要使用 PEAR。使用 PHPMailer 或类似的。无论哪种方式,手动编写 MIME 标头,尤其是以一种骇人听闻的方式,都不值得您花时间。