1

通过 smtp 发送邮件时,电子邮件标头中的“发件人”值是否应该与连接到主机服务器的用户名相同?

因为主机服务器上的用户邮件帐户正在用于发送邮件。所以我认为将“来自”的标题值放入正确的值。只是想要确认。

在这种情况下,我将它(mysmtp@mydomain.com)分配给 $mysmtpmail 分配给 $username 和 $from

// Setup mail + session parameters
$host = $mysmtphost;
$username = $mysmtpmail;
$password = $mysmtppass;
$from = $mysmtpmail;
$to = $myemail;
$subject = "Form Mail";
$body = $_POST['name'] . "\n <br />" . $_POST['email'] . "\n <br />" . $_POST['msg'];

// Assign header parameters
$headers = array ('From' => $from,
    'To' => $to,
     'Subject' => $subject,
    'Date'      => date('r', time()),);

// Assign Session Parameters
$mail = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));

$mail->send($to, $headers, $body);
4

1 回答 1

0

理想情况下是的,发件人字段应该与用户名相同,除非用户选择了必须从中发送邮件的替代邮件 ID。

客户喜欢outlook/thunderbird给你一个选项来选择邮件需要发送的邮件ID。(这些ID是Outlook中已经配置的邮件ID,仅当配置超过1个ID时)

此外,rediffmail、outlook.com 等邮件程序使 ua 可以灵活地配置多个电子邮件 ID(通常通过设置Pull mails),并且在发送邮件时,您可以选择任何电子邮件 ID 作为邮件来源。理想情况下,此 ID 必须位于“来自”字段中。

因此,如果您要为任何支持此类功能的知名邮寄者发送邮件,请注意。

于 2013-04-05T06:40:41.977 回答