.net应用程序调用LotusNotes的COM组件自动发送邮件,如何在邮件正文粘贴图片

sky3010 2012-05-17 04:08:05
开发.net应用程序调用Lotus Notes的COM组件来实现自动发送邮件,想在邮件正文直接显示图片,不是以附件的形式发送,请问如何实现?

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();
}
}
...全文
1339 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
一步之遥1 2013-11-28
  • 打赏
  • 举报
回复
真的还有人做lotus开发。。
dangers_boys 2013-11-14
  • 打赏
  • 举报
回复
不知道您de问题解决没?怎么在VC中使用lotus notes的COM接口?谢谢
jememe 2013-08-16
  • 打赏
  • 举报
回复
想要使用Lotus开发 必须安装lotus客户端 还是用某些组件就可以了
李儒福 2012-12-11
  • 打赏
  • 举报
回复
能发一份Lotus Note COM组件给我吗?我现在需要开发类似功能。
sky3010 2012-06-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

不适用RichTextItem,应该适用MimeEntity来创建MIME邮件,里面通过Stream就可以生成图片咯
[/Quote]
很感谢你在这里的回答,我在测试的时候发现NotesStream.open(finename,"binary")老是返回false,不知道什么原因,能分享一下你的源码吗,谢了
sky3010 2012-05-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
不适用RichTextItem,应该适用MimeEntity来创建MIME邮件,里面通过Stream就可以生成图片咯
[/Quote]
正在尝试中,谢谢
sky3010 2012-05-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
不适用RichTextItem,应该适用MimeEntity来创建MIME邮件,里面通过Stream就可以生成图片咯
[/Quote]
正在尝试中,谢谢
wwfgu00ing 2012-05-31
  • 打赏
  • 举报
回复
有结果了吗 我也遇到同样的问题
bb_2005 2012-05-27
  • 打赏
  • 举报
回复
不适用RichTextItem,应该适用MimeEntity来创建MIME邮件,里面通过Stream就可以生成图片咯
yjepia 2012-05-21
  • 打赏
  • 举报
回复
膜拜高手...我看了一下help.nsf没什么发现.可能是我水准不够

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧