【问题标题】:Why does NotesDocument.send() insert "!\n " into HTML MIME body?为什么 NotesDocument.send() 将 "!\n " 插入 HTML MIME 正文?
【发布时间】:2023-03-24 19:22:02
【问题描述】:

我正在使用 NotesDocument.send() 发送 HTML 邮件。使用服务器端 javascript,将 HTML 代码 (html) 添加到 NotesDocument (doc) 中,如下所示:

session.setConvertMime(false);
...
var mimeBody:NotesMIMEEntity=doc.createMIMEEntity("Body");
var stream:NotesStream=session.createStream();
stream.writeText(html);
mimeBody.setContentFromText(stream,"text/html;charset=\"UTF-8\"",NotesMIMEEntity.ENC_NONE);

发送文档有效,但如果 HTML 内容的长度超过一定大小,则生成的邮件会在多个位置包含字符串“!\n”。我认为 MIME 转换可能存在问题,并在 notes.ini 中添加了“MailConvertMimeOnTransfer=0”。不幸的是,这没有帮助。

有人知道如何解决这个问题吗?

PS:我也尝试使用 OpenNTF (http://openntf.org/XSnippets.nsf/snippet.xsp?id=create-html-mails-in-ssjs-using-mime) 中的 Mark Leusink 的 HTMLMail 类,但我也遇到了上述问题。

更新: 该问题仅发生在发送给 Internet 用户的邮件中。 Notes 用户收到正确的 HTML 邮件。

【问题讨论】:

  • 尝试使用 Tony McGuckins 电子邮件 bean:openntf.org/XSnippets.nsf/…
  • 您能否更具体地了解“特定尺寸”?是 ~40k 吗?
  • @PerHenrikLausten:感谢您的提示。我尝试了您建议的电子邮件 bean,但那里的问题是一样的。
  • @stwissel:我猜你是因为这个问题而提到了 40k:www-01.ibm.com/support/docview.wss?uid=swg21220303。但是,“!\n ”每 ~1000 个字符插入一次,即对于大小为 ~1kb 的邮件,问题已经出现。
  • 您尝试过编码吗? MIMEEntity.ENC_IDENTITY_8BIT 或 MIMEEntity.ENC_BASE64

标签: xpages lotus-notes


【解决方案1】:

可以通过更改 MIME 实体的编码来解决此问题。我刚刚将编码从 NotesMIMEEntity.ENC_NONE 更改为 NotesMIMEEntity.ENC_IDENTITY_8BIT,现在在执行 NotesDocument.send() 时“!\n”字符串不再插入到邮件正文中。

所有功劳都归功于提供此解决方案的 stwissel。

【讨论】:

    猜你喜欢
    • 2021-09-09
    • 1970-01-01
    • 2011-03-29
    • 2023-03-25
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    相关资源
    最近更新 更多