3

在我的邮件客户端或 gmail 中,发件人始终是 apache@hosting12

有什么办法可以解决这个问题?我试过设置这样的标题但没有成功。有人可以帮帮我吗?

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= "From: <'$from'> \r\n";
$headers .= "Reply-To: <'$from'> \r\n";
$headers .= "Return-Path: <'$from'>\r\n";
$headers .= "X-Mailer: PHP \r\n";

或者

$headers = "From: $from"; 

标题中有额外的单引号。试试这样:

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= "From: <$from> \r\n";
$headers .= "Reply-To: <$from> \r\n";
$headers .= "Return-Path: <$from>\r\n";
$headers .= "X-Mailer: PHP \r\n";

您也可以删除不必要的“回复”和“返回路径”。

4

3 回答 3

8

我在一个法语论坛上找到了这个答案。 http://www.developpez.net/forums/d413965/php/outils/configuration-sendmail_path-sender/

您可以在邮件函数中添加第 5 个参数:

mail($mail_recipient, $subject, $message, $headers, '-f'.$mail_from);

Ths '-f' + mail_from 强制系统将电子邮件作为 mail_from 发送。

于 2012-12-03T20:32:51.967 回答
4

标题中有额外的单引号。试试这样:

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= "From: <$from> \r\n";
$headers .= "Reply-To: <$from> \r\n";
$headers .= "Return-Path: <$from>\r\n";
$headers .= "X-Mailer: PHP \r\n";

您也可以删除不必要的“回复”和“返回路径”。

于 2012-04-17T01:16:08.530 回答
1

请从周围删除单引号$from并使用{$from}

$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";

或者您可以使用以下签名通过from

mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

编辑:

您还想检查文件中的sendmail_from设置php.ini

于 2012-04-17T01:16:46.187 回答