我正在构建一个LotusScript代理,循环遍历一组文档,然后-根据给定的条件-用格式化的html文本创建邮件。收件人将主要是非笔记用户(Outlook等),这就是为什么我要确保主题和邮件正文的格式正确。但是,至少要将一个副本发送到Domino邮件数据库。
该代码基本上创建了一个MimeEntity,设置了“ To”,“ CC”和“ Subject”标头,然后将预先配置的消息放入邮件正文并将其发送出去。
关于主体,我同时尝试了一个简单的MimeEntity格式为“ text / html”以及一个多部分消息(Content-Type =“ multipart / alternative”),该消息带有2个子实体(1:“ text / plain “,不带任何格式,2:“ text / html”,即html格式);在我的最终代码中,我打算使用后一种方法。
真正奇怪的是,收件人(使用Outlook以及其他邮件客户端(如Thunderbird)看到的是3个“收件人:”和3个“抄送:”项,而不仅仅是一个。查看接收Domino邮件数据库中的文档,每个项目只有一个实例(即SendTo和CopyTo)。
这是消息的源代码(摘自Thunderbird,显示了每个项目的那三个实例:
Return-Path: <[email protected]>
Received: (removed info here)
Subject: =?UTF-8?B?RWluIGdlbcO8dGxpY2hlcyBzaW1wbGVzIFRlc3RtYWlsIGF1cyBTT1A=?=
MIME-Version: 1.0
Auto-Submitted: auto-generated
To: [email protected], [email protected]
CC: [email protected]
To: [email protected], [email protected]
CC: [email protected]
To: [email protected], [email protected]
CC: [email protected]
Message-ID: <OFBCA50979.C1582837-ONC125856E.00548385-C125856E.0054838A@MYORG.DE>
From: Lothar Mueller <[email protected]>
这是创建这些邮件的基本代码(简单的非多部分版本:]:>
Set docMemo = db.Createdocument() Call docMemo.Replaceitemvalue("Form", "Memo") Set nMimeBody = docMemo.Createmimeentity() 'SendTo Set nMimeHead = nMimeBody.Createheader("To") Call nMimeHead.Setheaderval("[email protected],[email protected]") 'CopyTo Set nMimeHead = nMimeBody.Createheader("CC") Call nMimeHead.Setheaderval("my-mail-in-db") 'Subject Set nMimeHead = nMimeBody.Createheader("Subject") Call nMimeHead.Addvaltext("Subject with ä-ö-ü-ß", "UTF-8") 'html version only for simple non-multipart MIME Call nStream.Writetext({<p style="font-weight:bold;">Some simple formatted HTML content</p>}) Call nMimeBody.Setcontentfromtext(nStream, {text/html; charset="UTF-8"}, ENC_NONE) Call nStream.Close() 'finally send Call docMemo.Send(False)
现在,我可以通过简单地将收件人设置为普通的旧Notes项来解决此问题,例如:
Call docMemo.SendTo = recipientArray Call docMemo.CopyTo = copyArray
而不是将这些值设置为MIME标头。在这种情况下,收件人的邮件客户端不再有“收件人”和“抄送”项的多个实例。
我知道几年前我已经在另一个项目中做到了,那时我没有那些问题。
任何人都知道这可能是什么原因?难道是由于使用了Domino版本(现在是10.0.1 FP4,那时是9.0.1版本)?
我正在构建一个LotusScript代理,循环遍历一组文档,然后-根据给定的条件-用格式化的html文本创建邮件。收件人将主要是非笔记用户(...
猜猜我至少是部分原因: