如何使用phpmailer修改默认标头



我使用phpmailer发送电子邮件,但我想为我的公司创建一个自定义标题,通过添加一个包含任何自定义标题的文本区域字段,例如使用这样的标题:

Subject: __Subject
From: __From
Reply-to: <__Reply-To> 
To: __To
Date: __smtpDate

或任何其他标头类型。。我如何才能详细地做到这一点,请提前感谢。

要将字段解析为数组(假设您的文本区域称为mytextarea):

$headers = [];
foreach (preg_split('/[rn]+/', $_POST['mytextarea']) as $line) {
    list($name, $value) = explode(': ', $line, 2);
    $headers[$name] = $value;
}
var_dump($headers);

然后,您可以对该数组进行迭代,并处理每个标头。您列出的大多数标头都需要特殊处理,例如Subject应该放入$mail->Subject中,而不是与addCustomHeader一起使用。PHPMailer文档和示例中涵盖了所有这些内容,因此在这里扩展这些内容毫无意义。

使用addCustomHeader()方法

为用户提供创建自己的自定义标头(如例如X-Priority)。

示例用法:

$mail->addCustomHeader("X-Priority: 3"); 

SRC:http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#method_addCustomHeader

最新更新