.net应用程序调用LotusNotes的COM组件自动发送邮件,如何在邮件正文粘贴图片
开发.net应用程序调用Lotus Notes的COM组件来实现自动发送邮件,想在邮件正文直接显示图片,不是以附件的形式发送,请问如何实现?--------------------编程问答-------------------- 膜拜高手...我看了一下help.nsf没什么发现.可能是我水准不够 --------------------编程问答-------------------- 不适用RichTextItem,应该适用MimeEntity来创建MIME邮件,里面通过Stream就可以生成图片咯 --------------------编程问答--------------------
public Boolean SendNotesMail(object To, object copyTo, string subject, string body, string[] attachfile)
{
string from = ConfigurationManager.AppSettings["from"];
Domino.NotesSession ns = null;
Domino.NotesDatabase nd = null;
Domino.NotesDocument nDoc = null;
object itemValue = null;
string pw = "";
string serverName = "";
string mailFile = "";
try
{
lock (this)
{
ns = new Domino.NotesSession();
pw = ConfigurationManager.AppSettings["fromPW"];
ns.Initialize(pw);
serverName = ConfigurationManager.AppSettings["mailServer"];
mailFile = "mail\\" + ConfigurationManager.AppSettings["fromJobcode"];
nd = ns.GetDatabase(serverName, mailFile, false);
if (!nd.IsOpen)
{
nd.Open();
}
nDoc = nd.CreateDocument();
nDoc.ReplaceItemValue("Form", "Memo");
nDoc.ReplaceItemValue("From", from);
nDoc.ReplaceItemValue("SendTo", To);
nDoc.ReplaceItemValue("CopyTo", copyTo);
nDoc.ReplaceItemValue("Subject", subject);
//IRichTextItem irt = nDoc.CreateRichTextItem("Body");
Domino.NotesRichTextItem rt = nDoc.CreateRichTextItem("Body");
//NotesRichTextItem rt = nDoc.CreateRichTextItem("Body");
rt.AppendText(body);
//rt.EmbedObject(Domino.EMBED_TYPE.EMBED_ATTACHMENT, attachfile, "patrolResult");
for (int i = 0; i < attachfile.Length; i++)
{
if (attachfile[i] != "")
{
rt.EmbedObject(Domino.EMBED_TYPE.EMBED_ATTACHMENT, "", attachfile[i], "patrolResult");
}
}
//object test = rt.EmbeddedObjects;
nDoc.SaveMessageOnSend = true;
nDoc.ReplaceItemValue("postDate", DateTime.Now.ToShortDateString());
itemValue = nDoc.GetItemValue("SendTo");
nDoc.Send(false, ref itemValue);
return true;
}
}
catch (Exception error)
{
listBox1.Items.Add(error.Message + " Exception caughted " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
return false;
}
finally
{
ns = null;
nd = null;
nDoc = null;
itemValue = null;
GC.Collect();
}
}
正在尝试中,谢谢 --------------------编程问答--------------------
正在尝试中,谢谢 --------------------编程问答-------------------- 有结果了吗 我也遇到同样的问题 --------------------编程问答--------------------
很感谢你在这里的回答,我在测试的时候发现NotesStream.open(finename,"binary")老是返回false,不知道什么原因,能分享一下你的源码吗,谢了 --------------------编程问答-------------------- 能发一份Lotus Note COM组件给我吗?我现在需要开发类似功能。 --------------------编程问答-------------------- 想要使用Lotus开发 必须安装lotus客户端
还是用某些组件就可以了 --------------------编程问答-------------------- 不知道您de问题解决没?怎么在VC中使用lotus notes的COM接口?谢谢 --------------------编程问答-------------------- 真的还有人做lotus开发。。
补充:企业软件 , Lotus