【发布时间】:2013-02-11 20:35:13
【问题描述】:
我正在尝试使用 php 邮件功能从我的站点发送电子邮件。网站上的用户以 html 形式键入他们的电子邮件。我已经测试了邮件功能,它适用于电子邮件文本较小的情况,例如:
this is an email
但是,当我输入长电子邮件时,mail() 函数返回 1 但实际上没有收到电子邮件。发送电子邮件的代码很简单:
$email_message = $_POST['email_mssg_from_form'];
$ret = mail($to, $subject, $email_message);
我尝试使用以下方法规范 $email_message 的内容:
$email_message = wordwrap($email_message, 70, "\r\n");
$email_message = addslashes($email_message);
但这没有帮助。我不确定如何处理引号和长行。通常当用户在表单上键入电子邮件时,会有连续的文本行,只有段落会被\r\n分隔
【问题讨论】:
-
$email_messaage包含POST变量的值,但您使用$email_message发送到mail()函数。这是正确的还是错字? -
检查你的邮件服务器日志然后阅读这个 -:codinghorror.com/blog/2010/04/… 有很多可能性要排除
-
但是当邮件消息不长且不复杂时,服务器正在发送电子邮件。所以我处理 $email_message 字符串的方式有问题。
-
你怎么知道消息虽然长又复杂,但没有发送?接收客户端可能出于垃圾邮件的原因阻止它。我明白为什么,如果你添加了 lorem ipsum 短语,一些其他的单词组合会重复自己:)
-
来自邮件服务器的 1 仅表示它已被本地邮件服务器接受,与投递或任何其他邮件服务器对电子邮件的响应无关
标签: php