1

我在 php 中有一个电子邮件功能:

function send_mail($to, $from, $objet, $message) {
$entetemail  = 'MIME-Version: 1.0' . "\r\n";  
$entetemail .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";  
$entetemail .= 'From: '.$from. "\r\n";  
$entetemail .= 'Cc: ' . "\r\n";  
$entetemail .= 'Bcc: ' . "\r\n";  
$entetemail .= 'Reply-To: '.$from .''. "\r\n";  
$entetemail .= 'X-Mailer: PHP/' . phpversion() . "\r\n" ;  
$entetemail .= 'Date: '. date("D, j M Y H:i:s -0600");  
return mail($to, $objet, $message, $entetemail);  
}

$to 是一个有效的电子邮件地址。$from 看起来像:

Firstname name <email@example.com>

$objet 和 $message 分别来自输入文本和文本区域。

我没有 PHP 错误,邮件给我发假消息。

回显后,我的标头在两个服务器上看起来像:

MIME-Version: 1.0
Content-type: text/plain; charset=UTF-8
From: Firstname Name 
Cc: 
Bcc: 
Reply-To: Firstname Name 
X-Mailer: PHP/4.4.9
Date: Fri, 18 Feb 2011 23:35:58 -0600

在我的本地服务器上一切都很好。但是在生产中,由于 $from 变量,From 行给出了一个问题。电子邮件将不会发送。我做错了什么吗?是否有破坏一切的服务器配置?

4

1 回答 1

1

它实际上确实有效。

我只是用虚假的电子邮件地址进行了所有测试。似乎生产服务器不喜欢它,但我的本地人不在乎。

我想知道怎么做,但我稍后会看到。

于 2011-02-18T22:52:00.610 回答