我有这个代码来发送电子邮件。我在发送电子邮件时没有错误。
if(mailSender()){
echo 'meiled.';
}else {
die('not sent');
}
function mailSender() {
$to = 'info@fcrop.com';
$subject = 'An Abstract Submitted';
$message = 'An Abstract Submitted Recently In ICNBA.org';
$headers = 'Frominfo@icnba.org';
mail($to, $subject, $message, $headers);
}
它不会发送电子邮件。
答案 0 :(得分:3)
您需要更改:
$AllData = "Name=John&Title=CEO&Comment=nothing";
print_r($AllData);
// also want to echo only Name or only Comments.
至$headers = 'Frominfo@icnba.org';
和
$headers = 'From: info@icnba.org';
到mail($to, $subject, $message, $headers);
...返回值,否则mailSender不会返回任何内容。
如果没有发送邮件,这可能有很多原因,从php.ini设置到本地MTA配置错误到不匹配的SPF记录。检查邮件日志以查看是否有任何错误。
答案 1 :(得分:2)
因为if表达式计算布尔值,mailSender()
不返回任何值。
将此添加到您的函数中:
return mail($to, $subject, $message, $headers);
有关php文档的更多信息:http://php.net/manual/en/control-structures.if.php
答案 2 :(得分:0)
@ user3173842 look standart rfc2822获取更多信息,最后标题行需要\ r \ n \ r \ n http://www.faqs.org/rfcs/rfc2822.html
From: "Joe Q. Public" <john.q.public@example.com> \r\n
To: Mary Smith <mary@x.test>, jdoe@example.org, Who? <one@y.test> \r\n
Cc: <boss@nil.test>, "Giant; \"Big\" Box" <sysservices@example.net> \r\n
Date: Tue, 1 Jul 2003 10:52:37 +0200 \r\n
Message-ID: <5678.21-Nov-1997@example.com> \r\n
\r\n
Hi everyone. is body
这是show example header的答案 对不起,我发现了