Lotus Note PassThruHTML

时间:2012-11-28 11:27:54

标签: c# lotus-notes lotus-domino

我正在尝试使用LOTUS NOTES在“domino”dll的帮助下发送电子邮件(编程语言:C#)。

我想将邮件签名附加到电子邮件正文中。我希望为签名添加.jpg。我还有其他电子邮件正文格式。因此,我决定使用HTML进行样式设置和附加签名。浏览网页后发现,在NotesRichTextStyle中有一个属性PassThruHTML。根据此link可以给出的合法值是(-1),(0),(255)。

问题是,当我设置(-1)应用程序弹出一条消息,说“样式值必须为True,False或STYLE_NO_CHANGE(是,否,或可能为Java)”。

但是在尖锐的代码中,它只接受int值,但不接受弹出窗口中给出的值。

2 个答案:

答案 0 :(得分:3)

以下是Ken Pespisa的参考链接给出的答案的C#代码。

NotesSession LNSession = new NotesSession();
NotesDatabase LNDatabase = null;
NotesDocument LNDocument;
NotesMIMEEntity LNBody;
NotesStream LNStream;
NotesMIMEHeader LNHeader;

try
{
    LNSession.Initialize(txtPassword.Text);
    LNDatabase = LNSession.GetDatabase(txtServer.Text, txtUserName.Text, false);
    LNStream = LNSession.CreateStream();
    LNSession.ConvertMime = false;

    //Create an email
    LNDocument = LNDatabase.CreateDocument();
    LNDocument.ReplaceItemValue("Form", "Memo");
    LNBody = LNDocument.CreateMIMEEntity();

    LNHeader = LNBody.CreateHeader("Subject");
    LNHeader.SetHeaderVal("Add your subject here");

    LNHeader = LNBody.CreateHeader("To");
    LNHeader.SetHeaderVal("Give your recipient email address");

    LNStream.WriteText("<html>");
    LNStream.WriteText("<body bgcolor=\"blue\" text=\"white\">");
    LNStream.WriteText("<table border=\"2\">");
    LNStream.WriteText("<tr>");
    LNStream.WriteText("<td>Hello World!</td>");
    LNStream.WriteText("</tr>");
    LNStream.WriteText("</table>");
    LNStream.WriteText("</body>");
    LNStream.WriteText("</html>");
    LNBody.SetContentFromText(LNStream, "text/HTML;charset=UTF-8", MIME_ENCODING.ENC_IDENTITY_7BIT);
    LNDocument.Send(false);
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}

答案 1 :(得分:2)

如果您只是发送电子邮件,则应查看NotesMimeEntity课程,并查看此网站以获取示例:http://www-01.ibm.com/support/docview.wss?uid=swg21098323

除非您在通过Domino查看Notes文档或表单时尝试在浏览器中显示自定义HTML,否则PassThruHTML对您没有多大帮助。