PHP mail()使用“发送电子邮件”;anonymous@...&引用;
我尝试了以下方法,但收效甚微:PHP mail()使用“发送电子邮件”;anonymous@...&引用;,php,Php,我尝试了以下方法,但收效甚微: $fromEmail = "something.com <noreply@something.com>\r\n"; $headers = 'From: '.$fromEmail; $headers .= 'Reply-To: '.$fromEmail; $headers .= 'Return-Path: '.$fromEmail; $headers = 'MIME-Version: 1.0' . '\n'
$fromEmail = "something.com <noreply@something.com>\r\n";
$headers = 'From: '.$fromEmail;
$headers .= 'Reply-To: '.$fromEmail;
$headers .= 'Return-Path: '.$fromEmail;
$headers = 'MIME-Version: 1.0' . '\n';
$headers .= 'Content-type: text/html; charset=iso-8859-1' . '\r\n';
if(mail($to, $subject, $message, $headers)) { echo "1"; exit; }
在所有情况下,电子邮件都是从anonymous@...
要更改邮件的信封,可以使用第五个参数。这用于应直接传递到sendmail
的选项。在这里,您应该添加-finfo@mywebaddress.com
。下面是一个简单的例子
mail('recipient@domain.com', 'Subject', 'Message',
'From: info@myaddress.info','-f info@myaddress.info');
而且,所有这些都在中提到。要更改信封邮件,可以使用第五个参数。这用于应直接传递到sendmail
的选项。在这里,您应该添加-finfo@mywebaddress.com
。下面是一个简单的例子
mail('recipient@domain.com', 'Subject', 'Message',
'From: info@myaddress.info','-f info@myaddress.info');
而且,所有这些都在中提到。看起来anonymous@... 这是您的信封“发件人”地址。信封“发件人”地址与电子邮件“发件人:”标题中显示的地址不同。这是sendmail在与接收邮件服务器的“MAIL FROM/RCPT TO”交换中使用的地址。它被称为“信封”地址的主要原因是它出现在邮件头和正文之外,在邮件服务器之间的原始SMTP交换中 要在unix上更改信封“发件人”地址,请在sendmail二进制文件中指定“-f”选项。您可以在php.ini中全局执行此操作,方法是将“-r”选项添加到“sendmail_path”命令行。您还可以通过传递-f在PHP中以编程方式执行此操作mail@something.com作为mail()函数的附加参数参数(第5个参数) 在php.ini中,您可以像这样添加默认地址
sendmail_from = me@something.com
看起来像anonymous@... 这是您的信封“发件人”地址。信封“发件人”地址与电子邮件“发件人:”标题中显示的地址不同。这是sendmail在与接收邮件服务器的“MAIL FROM/RCPT TO”交换中使用的地址。它被称为“信封”地址的主要原因是它出现在邮件头和正文之外,在邮件服务器之间的原始SMTP交换中 要在unix上更改信封“发件人”地址,请在sendmail二进制文件中指定“-f”选项。您可以在php.ini中全局执行此操作,方法是将“-r”选项添加到“sendmail_path”命令行。您还可以通过传递-f在PHP中以编程方式执行此操作mail@something.com作为mail()函数的附加参数参数(第5个参数) 在php.ini中,您可以像这样添加默认地址
sendmail_from = me@something.com
代码中存在语法错误 MIME标题行中缺少一个点 应该是:
$headers = 'From: '.$fromEmail;
$headers .= 'Reply-To: '.$fromEmail;
$headers .= 'Return-Path: '.$fromEmail;
$headers .= 'MIME-Version: 1.0' . '\n';
<...>
$headers='From:'。$fromEmail;
$headers.='Reply To:'。$fromEmail;
$headers.=“返回路径:”。$fromEmail;
$headers.='MIME版本:1.0'\n′;
您的代码中有语法错误
MIME标题行中缺少一个点
应该是:
$headers = 'From: '.$fromEmail;
$headers .= 'Reply-To: '.$fromEmail;
$headers .= 'Return-Path: '.$fromEmail;
$headers .= 'MIME-Version: 1.0' . '\n';
<...>
$headers='From:'。$fromEmail;
$headers.='Reply To:'。$fromEmail;
$headers.=“返回路径:”。$fromEmail;
$headers.='MIME版本:1.0'\n′;
这将应用于在域上使用邮件功能的所有脚本,尽管:(这将应用于在域上使用邮件功能的所有脚本,尽管:(MIME版本头中缺少CR('\r\n'
而不是'\n'
)。此外,似乎将CRLF包含在$fromEmail
中是个坏主意--我会将其放在构建标头的代码中。您的MIME版本标头中缺少CR('\r\n'
而不是'\n'
)。此外,似乎将CRLF包含在$fromEmail
中是个坏主意——我会将其放在构建标题的代码中。