- 浏览: 63316 次
- 性别:
- 来自: 烟台
最新评论
在SMTP伺服器,相應帳號已知的情況下,用C#發送電子郵件以有現成的函數,但對於使用Lotus Notes的網路中,如何發郵件,以下是一種方法供參考
1.保證本地有一個Lotus Notes 的用戶端,通過這個用戶端,你可以得到三個資訊,
1.伺服器的描述, 例如:srvc7/srvc/cag
2.帳號檔資訊 例如:mail102\zhangsan1.nsf
3.密碼 例如:MyPassword
<add key=”NotesDBServerStr” value=”CHNYT03/FOXCONN”/>
<add key=”NotesDBFilePathStr” value=”mail01\ytitsdt.nsf”/>
<add key=”NotesPassword” value=”84403736″/>
2. 在啟動VS2005專案,添加引用,添加COM引用,由於你已經安裝了lotus notes用戶端,你可以在COM引用中看到Lotus Notes的引用(Lotus Domino Objects),添加它,你得飲用中會多一個Domino的dll,
3.在你的項目的命名空間中,加上
using Domino;
4.以下是發送郵件的函數
public Boolean SendNotesMail(string ToMail, string Subject, string Body)
{
Domino.NotesSession oNotesSession = null; ;
Domino.NotesDatabase oNotesDatabase = null;
Domino.NotesDocument oNotesDocument = null;
object oItemValue = null;
//String sUserName;
String sPassword = “”; //Password used by COM to pass to the Notes client login.
String sServerName = “”;
String sMailFile = “”;
try
{
oNotesSession = new Domino.NotesSession(); //create a notes session object
//sPassword = MsgData.Password;
sPassword = “MyPassword”;
oNotesSession.Initialize(sPassword); //Initialise session by passing a password. Lotus Notes will not load.
//sUserName = oNotesSession.UserName;
//Console.WriteLine(sUserName);
//Create a database handle to the database you wish to send the mail message from.
//sServerName = MsgData.ServerName;
sServerName = @”srvc7/srvc/cag”;
//sMailFile = MsgData.MailFile;
sMailFile = @”mail102\zhangsan1.nsf”;
oNotesDatabase = oNotesSession.GetDatabase(sServerName, sMailFile, false);
//If the database is not already open then open it.
if (!oNotesDatabase.IsOpen)
{
oNotesDatabase.Open();
}
//Create an in memory document in the server database
oNotesDocument = oNotesDatabase.CreateDocument();
//Assign Field Values
oNotesDocument.ReplaceItemValue(“Form”, “Memo”);
//oNotesDocument.ReplaceItemValue(“From”, MsgData.FromMail);
oNotesDocument.ReplaceItemValue(“From”, zhangsan1@mydomain.com);
oNotesDocument.ReplaceItemValue(“SendTo”, ToMail);
oNotesDocument.ReplaceItemValue(“Subject”, Subject);
NotesRichTextItem rt = oNotesDocument.CreateRichTextItem(“Body”);
rt.AppendText(Body);
//oNotesDocument.ReplaceItemValue(“Body”, MsgData.Body);
oNotesDocument.SaveMessageOnSend = true; //Ensure memo shows in sent folder
oNotesDocument.ReplaceItemValue(“postDate”, DateTime.Now.ToShortDateString());
//Send requires an object for the recipients, so I give the send method the SendTo field as an object.
oItemValue = oNotesDocument.GetItemValue(“SendTo”);
//Send the email
oNotesDocument.Send(false, ref oItemValue);
return true;
}
catch (Exception error)
{
Console.WriteLine(“{0} My Exception caught.”, error);
return false;
}
finally
{
//if (oNotesSession != null) { Marshal.ReleaseComObject(oNotesSession); }
//if (oNotesDatabase != null) { Marshal.ReleaseComObject(oNotesDatabase); }
//if (oNotesDocument != null) { Marshal.ReleaseComObject(oNotesDocument); }
//if (oItemValue != null) { Marshal.ReleaseComObject(oItemValue); }
oNotesSession = null;
oNotesDatabase = null;
oNotesDocument = null;
oItemValue = null;
GC.Collect();
}
}
1.保證本地有一個Lotus Notes 的用戶端,通過這個用戶端,你可以得到三個資訊,
1.伺服器的描述, 例如:srvc7/srvc/cag
2.帳號檔資訊 例如:mail102\zhangsan1.nsf
3.密碼 例如:MyPassword
<add key=”NotesDBServerStr” value=”CHNYT03/FOXCONN”/>
<add key=”NotesDBFilePathStr” value=”mail01\ytitsdt.nsf”/>
<add key=”NotesPassword” value=”84403736″/>
2. 在啟動VS2005專案,添加引用,添加COM引用,由於你已經安裝了lotus notes用戶端,你可以在COM引用中看到Lotus Notes的引用(Lotus Domino Objects),添加它,你得飲用中會多一個Domino的dll,
3.在你的項目的命名空間中,加上
using Domino;
4.以下是發送郵件的函數
public Boolean SendNotesMail(string ToMail, string Subject, string Body)
{
Domino.NotesSession oNotesSession = null; ;
Domino.NotesDatabase oNotesDatabase = null;
Domino.NotesDocument oNotesDocument = null;
object oItemValue = null;
//String sUserName;
String sPassword = “”; //Password used by COM to pass to the Notes client login.
String sServerName = “”;
String sMailFile = “”;
try
{
oNotesSession = new Domino.NotesSession(); //create a notes session object
//sPassword = MsgData.Password;
sPassword = “MyPassword”;
oNotesSession.Initialize(sPassword); //Initialise session by passing a password. Lotus Notes will not load.
//sUserName = oNotesSession.UserName;
//Console.WriteLine(sUserName);
//Create a database handle to the database you wish to send the mail message from.
//sServerName = MsgData.ServerName;
sServerName = @”srvc7/srvc/cag”;
//sMailFile = MsgData.MailFile;
sMailFile = @”mail102\zhangsan1.nsf”;
oNotesDatabase = oNotesSession.GetDatabase(sServerName, sMailFile, false);
//If the database is not already open then open it.
if (!oNotesDatabase.IsOpen)
{
oNotesDatabase.Open();
}
//Create an in memory document in the server database
oNotesDocument = oNotesDatabase.CreateDocument();
//Assign Field Values
oNotesDocument.ReplaceItemValue(“Form”, “Memo”);
//oNotesDocument.ReplaceItemValue(“From”, MsgData.FromMail);
oNotesDocument.ReplaceItemValue(“From”, zhangsan1@mydomain.com);
oNotesDocument.ReplaceItemValue(“SendTo”, ToMail);
oNotesDocument.ReplaceItemValue(“Subject”, Subject);
NotesRichTextItem rt = oNotesDocument.CreateRichTextItem(“Body”);
rt.AppendText(Body);
//oNotesDocument.ReplaceItemValue(“Body”, MsgData.Body);
oNotesDocument.SaveMessageOnSend = true; //Ensure memo shows in sent folder
oNotesDocument.ReplaceItemValue(“postDate”, DateTime.Now.ToShortDateString());
//Send requires an object for the recipients, so I give the send method the SendTo field as an object.
oItemValue = oNotesDocument.GetItemValue(“SendTo”);
//Send the email
oNotesDocument.Send(false, ref oItemValue);
return true;
}
catch (Exception error)
{
Console.WriteLine(“{0} My Exception caught.”, error);
return false;
}
finally
{
//if (oNotesSession != null) { Marshal.ReleaseComObject(oNotesSession); }
//if (oNotesDatabase != null) { Marshal.ReleaseComObject(oNotesDatabase); }
//if (oNotesDocument != null) { Marshal.ReleaseComObject(oNotesDocument); }
//if (oItemValue != null) { Marshal.ReleaseComObject(oItemValue); }
oNotesSession = null;
oNotesDatabase = null;
oNotesDocument = null;
oItemValue = null;
GC.Collect();
}
}
发表评论
-
控件的使用
2011-12-31 18:49 6361、AdRotator控件用法 <asp:AdRotat ... -
常用的简单算法
2011-11-17 20:38 796用二重循环实现冒泡排序 1 如何用二重循环将5个数字排序?N ... -
状态管理
2011-10-31 22:06 760内置对象方法 信息量大小 作用 ... -
现在免费的.Net空间越来越少了,我发现了个空间大,而且完全免费的
2011-10-30 12:33 10云空间-全面进入免费云时代-国内首家免费T级云空间! 云空间- ... -
Asp.Net小技巧合集
2011-09-15 18:33 80420120122 小雪 在google中找免费的电子书籍 搜索 ... -
根据数据库现有数据生成单号
2011-08-01 22:45 907/// <summary> /// ... -
FreeTextBox控件的用法
2011-08-01 22:42 1118下载网址:http://freetextbox.com/def ... -
RSS读取文章
2011-08-01 22:37 1070/// <summary> /// 加载R ... -
C#中发送Email
2011-08-01 22:29 1082// 引入命名空间 using System.Net; usi ... -
Treeview控件的用法
2011-07-31 22:30 2004//treeview控件的用法,据我现在看,以下方法在winf ... -
数据库读取和保存图片
2011-07-31 20:49 922//从数据库读取图片,并保存为11.jpg using (Sq ... -
绘制饼图
2011-07-31 20:38 619using System.Drawing; public pa ... -
WebGrid用法
2011-07-31 12:15 5217首先安装Infragistics.NetAdv ... -
封装的上传文件的方法
2011-03-19 18:24 1085//上传按钮 protected void Butt ... -
IO操作
2011-03-19 18:22 6701、創建目錄,支持多級,根據輸入的目錄地址 Director ... -
彈出提示框
2011-03-19 18:19 9381、Response.Write(“<script la ... -
report service研究
2011-03-19 18:19 998報表服務器 Overwritedatasources ... -
Asp.net通用方法及属性
2011-03-19 17:57 7941. 在ASP.NET中专用属性: 获取服务器计算机名:P ... -
C#读写注册表操作类
2011-03-19 17:48 1248using System; using System.Coll ... -
保存DataTable的数据
2011-03-19 17:47 2217在botton的click事件中定义datatable,当cl ...
相关推荐
2. **数据库设计与开发**:Notes/Domino平台提供了强大的数据库开发工具,允许用户无需编程知识即可创建应用程序。这部分教程可能涵盖了表单设计、视图构建、规则设定等内容,帮助用户理解如何构建定制化的信息管理...
开发者在设计这款应用时,显然是深入研究了Apple Notes的设计理念,力求在Android平台上复制其核心功能和用户体验。这意味着Notes Squared可能具有类似的分类管理、文本格式化、图片插入、链接保存等特性,同时也...
MATLAB(Matrix Laboratory)是一款由MathWorks公司开发的高级技术计算语言和交互式环境,广泛应用于工程计算、科学计算、数据分析、算法开发、建模、仿真等多个领域。MATLAB的核心优势在于其强大的矩阵运算能力和...
总之,通过对Mi_Notes源码的深入研究,开发者不仅能了解一个实际应用的完整架构,还能掌握众多Android开发的关键技能,这对提升个人技术水平和解决实际问题的能力大有裨益。同时,这样的实践也是遵循Android最佳实践...
- **部署描述符**:深入研究了web.xml文件,它是Web应用的核心配置文件,用于定义应用的结构和行为。 #### 章节十二:安全性 - **安全概念**:概述了Web应用安全的基础知识,包括身份验证、授权和机密性。 - **...
这种设计非常适合处理复杂的信息,如项目管理、研究资料、学习笔记等,使得你可以按照主题、类别或者相关性将信息分门别类,便于理解和记忆。 Markdown编辑器是Trilium Notes的核心工具之一。Markdown是一种轻量级...
这份“MATLAB Study Notes”是由jackzero0 Studio制作的,主要基于曹戈、郑阿奇的《MATLAB 使用教程(第二版)》以及Stephen J. Chapman的《MATLAB 编程(第二版)》中文译本,同时参考了一些MATLAB教学相关的讲义...
文档《notes-ros》意在为初学者提供一个介绍ROS的基础文档,它作为在线教程的补充,帮助初学者更快地理解和掌握ROS的基本概念与操作。文档内容涵盖了ROS基础、配置、节点管理、编程实践、主循环编写、服务调用和参数...
在这个"Notes-main"压缩包中,我们可以期待找到一系列关于Swift编程的详细文档、代码示例或者教程。 Swift是苹果公司于2014年推出的一种强大且现代化的编程语言,用于开发iOS、iPadOS、macOS、watchOS和tvOS的应用...
Sticky Notes++ 是一款专为英语用户设计的浏览器扩展程序,它提供了一种高效且直观的方式来管理个人的笔记和想法。这款插件将传统的桌面便签功能与现代数字化工具相结合,极大地提升了记录和组织信息的能力。 **...
"yt-notes-crx插件"是一款专为YouTube用户设计的扩展程序,主要功能是在观看视频的过程中,方便用户记录笔记,并且可以保存下来以便日后查阅。这个插件特别适合那些经常在学习、研究或者休闲娱乐时使用YouTube,并...
Notes应用程序采用Material Design原则,这包括使用明亮的色彩方案、阴影效果以及卡片式的界面布局,以增强应用的视觉吸引力和可用性。 【Android Architecture Components】 为了构建健壮且可维护的应用,Notes...
这个"notes-master"压缩包可能包含了上述每个领域的实战项目、教程、案例研究或者问题解答,为IT学习者提供了丰富的学习材料。通过深入学习和实践,可以不断提升自身的IT技能和解决问题的能力。
用户可以通过浏览器与知识仓库进行互动,无需安装复杂的软件或应用程序。HTML的结构化特性也使得知识内容的组织变得更加有序,用户可以通过编辑HTML代码来优化自己的知识结构和呈现形式。 项目名称中的“Graphic-...
GitBook 提供的 "OPLSS 15 Notes" 包含详细的使用说明、常见问题解答和实例教程,是学习和掌握OPLSS 15程序的重要参考资料。同时,参与相关的在线社区和技术论坛,可以获取实时的帮助和支持。 10. **进阶技巧与...
文件"composite_app.pdf"很可能包含更详尽的教程或指南,可能涵盖了上述步骤的详细操作,以及最佳实践和案例研究。通过阅读这份文档,开发者可以进一步了解如何在实际项目中有效利用Lotus Notes/Domino构建复合应用...
【标题】: "Rust 学习笔记" 【正文】: 在编程世界中,Rust 是...通过深入研究 "notes_from_learning" 中的内容,你将能够逐步理解并掌握 Rust 语言的核心概念和实践技巧,为构建安全、高效的应用程序打下坚实基础。
在本资源中,我们主要关注的是一个名为"魂斗罗java程序源码"的项目,它结合了学习笔记和视频教程,旨在帮助爱好者理解和学习Java编程。"LearningNotes"可能是这个项目的名称或组织方式,而"系统开源"的标签表明该...