【发布时间】:2015-05-12 17:50:32
【问题描述】:
如果我使用 PHP mail() 函数发送邮件,除非我在主题行前加上“主题:”一词,否则邮件将无法通过。
代码如下:
$from = "shamsneed@gmail.com";
$subject = urldecode($_GET['theSubj']) . "\r\n";
$body = "Here ya go now\r\n";
$Header = "From: $from \r\n";
$retval = mail($advertisersEmail, $subject, $body, $Header);
编辑:即使收件人没有收到电子邮件,“retval”也始终为“1”。
我什至试过这个:
$Header .= "Subject: $subject";
以上均未成功向收件人发送电子邮件。
我在上面的代码上尝试了很多排列:删除所有的“\r”,删除所有的“\r\n”,不使用 urldecode()。
我可以发送电子邮件的唯一方法是将“主题”更改为:
$subject = "Subject: " . urldecode($_GET['theSubj']) . "\r\n";
问题在于,“主题:”一词出现在他们从我们网站收到的收件人电子邮件中,我不希望这样。我检查了邮件的 PHP 手册,它没有说明需要将“主题:”添加到 mail() 的第二个参数中传入的主题。
我在这里错过了什么?
【问题讨论】:
-
$from 值会用引号引起来吗?不是吗?是你自己写的还是这样的?
-
修正了,实际代码是正确的,我只是上面一开始打错了。
标签: php