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
中是个坏主意——我会将其放在构建标题的代码中。