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

问题描述

开发.net应用程序调用LotusNotes的COM组件来实现自动发送邮件,想在邮件正文直接显示图片,不是以附件的形式发送,请问如何实现?publicBooleanSendNotesMail(objectTo,objectcopyTo,stringsubject,stringbody,string[]attachfile){stringfrom=ConfigurationManager.AppSettings["from"];Domino.NotesSessionns=null;Domino.NotesDatabasend=null;Domino.NotesDocumentnDoc=null;objectitemValue=null;stringpw="";stringserverName="";stringmailFile="";try{lock(this){ns=newDomino.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);//IRichTextItemirt=nDoc.CreateRichTextItem("Body");Domino.NotesRichTextItemrt=nDoc.CreateRichTextItem("Body");//NotesRichTextItemrt=nDoc.CreateRichTextItem("Body");rt.AppendText(body);//rt.EmbedObject(Domino.EMBED_TYPE.EMBED_ATTACHMENT,attachfile,"patrolResult");for(inti=0;i<attachfile.Length;i++){if(attachfile[i]!=""){rt.EmbedObject(Domino.EMBED_TYPE.EMBED_ATTACHMENT,"",attachfile[i],"patrolResult");}}//objecttest=rt.EmbeddedObjects;nDoc.SaveMessageOnSend=true;nDoc.ReplaceItemValue("postDate",DateTime.Now.ToShortDateString());itemValue=nDoc.GetItemValue("SendTo");nDoc.Send(false,refitemValue);returntrue;}}catch(Exceptionerror){listBox1.Items.Add(error.Message+"Exceptioncaughted"+DateTime.Now.ToString("yyyy-MM-ddHH:mm:ss"));returnfalse;}finally{ns=null;nd=null;nDoc=null;itemValue=null;GC.Collect();}}

解决方案

解决方案二:
膜拜高手...我看了一下help.nsf没什么发现.可能是我水准不够
解决方案三:
不适用RichTextItem,应该适用MimeEntity来创建MIME邮件,里面通过Stream就可以生成图片咯
解决方案四:
引用2楼的回复:

不适用RichTextItem,应该适用MimeEntity来创建MIME邮件,里面通过Stream就可以生成图片咯

正在尝试中,谢谢
解决方案五:
引用2楼的回复:

不适用RichTextItem,应该适用MimeEntity来创建MIME邮件,里面通过Stream就可以生成图片咯

正在尝试中,谢谢
解决方案六:
有结果了吗我也遇到同样的问题
解决方案七:
引用2楼的回复:

不适用RichTextItem,应该适用MimeEntity来创建MIME邮件,里面通过Stream就可以生成图片咯

很感谢你在这里的回答,我在测试的时候发现NotesStream.open(finename,&quot;binary&quot;)老是返回false,不知道什么原因,能分享一下你的源码吗,谢了
解决方案八:
能发一份LotusNoteCOM组件给我吗?我现在需要开发类似功能。
解决方案九:
想要使用Lotus开发必须安装lotus客户端还是用某些组件就可以了
解决方案十:
不知道您de问题解决没?怎么在VC中使用lotusnotes的COM接口?谢谢
解决方案十一:
真的还有人做lotus开发。。

时间: 2024-08-04 12:14:14

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

在Windows Server 2008 X64中通过.NET程序调用32位com组件

在开发短信接口时,需要调用一个com组件,在本机测试成功.可是部署到Windows Server 2008 X64的服务器上却出现下面的错误: Retrieving the COM class factory for component with CLSID {79AD7B73-C515-40B4-8B02-CB0F5FA5A1A} failed due to the following error: 80070005 部署时,直接在命令行中通过regsvr32注册com组件. 被这个问题折腾了

异常-c# 程序调用外部dll文件对采集模块进行读写,不定时出现以下错误

问题描述 c# 程序调用外部dll文件对采集模块进行读写,不定时出现以下错误 问题签名: 问题事件名称: BEX 应用程序名: NangGang11.20.vshost.exe 应用程序版本: 9.0.21022.8 应用程序时间戳: 47316898 故障模块名称: MSVCR80.dll 故障模块版本: 8.0.50727.6195 故障模块时间戳: 4dcddbf3 异常偏移: 00008aa0 异常代码: c000000d 异常数据: 00000000 解决方案 光给出一个异常信息,天知

api-C#窗体应用程序调用百度地图

问题描述 C#窗体应用程序调用百度地图 如题,不知道怎么调用,求详细一点,谢谢各位大侠.万分感激.... 解决方案 C#窗体应用程序C#窗体应用程序中,调用已有应用程序(*.exe) 解决方案二: 调用的是百度地图http服务还是想显示百度地图界面?http服务的话,就模拟http请求带上相应参数直接调用就行了.界面组件的话,百度地图没有提供相应的SDK,要的话,只能内置浏览器控件WebBrowser来显示网页版百度地度 解决方案三: 先做个html/javascript版本的调用百度地图的例子

从IBM InfoSphere Streams应用程序调用Python代码

还可以在一个 Streams 应用程序的上下文内调用 Python 代码.学习如何直接从 IBM InfoSphere Streams 应用程序调用 Python 代码. IBM InfoSphere Streams 是一个高性能的实时事件处理中间件.它独特的优势在于能够从各种不同的数据来源获取结构化和非结构化数据,以用于执行实时分析.它通过将一种称为 SPL(Streams Processing Language,流处理语言)的易于使用的应用程序开发语言与一个分布式运行时平台相结合来完成此任务

求教如何java程序调用cmd 连接mysql数据库读取sql文件

问题描述 求教如何java程序调用cmd 连接mysql数据库读取sql文件 开始 -> 运行 -> 输入CMD D: cd mysqlbin mysql -u root -p123456 test <d:a.sql 这是在命令行执行的 谁能告诉我JAVA要怎么写 谢谢啦 解决方案 http://www.cnblogs.com/taoweiji/archive/2012/12/11/2812852.html 解决方案二: java本身就是在虚拟机里面运行的,不可能去调用Windows的组

c#程序调用摄像头程序总是弹出视频源

问题描述 c#程序调用摄像头程序总是弹出视频源 RT,网上有人说是线程堵塞的问题.但是我没有开启与摄像头相关的进程呀.跪求大神帮忙! 解决方案 using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace video { public class VideoWork { private const int WM_USER = 0x

C#程序调用外部程序

程序 /**编程语言:VisualStudio.NETC#(Beta2)*作者:迪泊威*功能:通过C#程序调用Windows记事本程序编辑一个*名为test.txt的文本文件.**在整个程序中System.Diagnostics.Process.Start(Info)*为主要语句.*如果只是单独执行一个外部程序,可用一条如下代码即可:*System.Diagnostics.Process.Start(*"外部程序名","启动参数");*/ usingSystem;

已调试好的asp程序在VB中转换为组件的技巧(转)好象也有不少人问过类似的问题

程序|技巧|问题|转换 已调试好的asp程序在VB中转换为组件的技巧 2001年2月3日 在网易虚拟社区的"VB和Basic区"里有一篇<使用VB编写纯ASP程序 [转][Technology] >,其实我认为最好的方法应该这样: 原文中的定义如下: Dim m_objResponse As Response 其实对于我们写过.dll的来说,并不是很好,就是如果要将该程序拿到.asp程序中进行调试时,尤其是我们将已经调试通过的.asp程序做成.dll时,.asp程序里用的是

通过异步程序调用(APC)实现的定时功能

定时器是一个在特定时间或者规则间隔被激发的内核对象.结合定时器的异步程序调用可 以允许回调函数在任何定时器被激发的时候执行.本文的例子代码显示了如何实现. 使用本定时器时,你需要把常量_WIN32_WINNT定义为0x0400,并且此常量应该在包之前定义 ,以确保声明合适的定时器原型函数. 通过调用CreateWaitableTimer()可以创建一 个定时器,此函数返回一个指向内核对象的句柄.若定时器已经存在,你可以通过使用 OpenWaitableTimer()获得一个进程相关的句柄.无论是