PHP 向 Lotus Notes 发送一个约会,在标题中发送 dolar char


PHP send an appointment to Lotus Notes, dolar char in headers

我正在尝试向Lotus Notes发送约会,我可以发送一些东西,但并非所有标题都在我的邮件中考虑。起初我发现不允许在标题名称中使用",所以我发现如果我使用"-"而不是"",服务器将发送末尾带有"_"的电子邮件。当我想设置标题"_ViewIcon"时,我必须使用它。现在我有另一个问题。一些 Lotus 标头以 dolar 开头,例如"$Abstract"......但是当我使用 PHPMailer 设置这个标头时,我将站在 Lotus 方面,而不是$Abstract $24Abstract。所以如果 RFC 822 不允许这些字符,我可以做什么?如何向莲花笔记发送正确的预约。

使用PHP Mailer,我正在使用以下标头:

$mail->AddCustomHeader("'$PublicAccess: 1");
$mail->AddCustomHeader("-ViewIcon: 148");

但是在 Lotus 中,当我打开电子邮件的详细信息时,我可以看到:$24公共访问。

溶液:

找到了对我有帮助的解决方案。特殊字符,如 $,_,-,...不允许仅用于标头名称。所以我从Lotus Notes预约发送到我的GMail,然后我打开GMail的邮件源。我发现许多具有这种格式的 Lotus 标头:

X-Lotus-Item: 1; name=$PublicAccess; type=300
// and type=300 means number I think

因此,当我将所有标头重写为这种格式时,它现在可以工作了!我可以设置所有包含$或任何其他特殊字符的标题。

尝试使用简单的引号,不要使用反斜杠

$mail->AddCustomHeader('$PublicAccess: 1');