如何使用 Cdosys.dll 库使用 Visual C# 中发送电子邮件带有附件接收邮件
如何使用 Cdosys.dll 库一封新邮件中嵌入一条消息,使用 Visual C#
本文描述如何在新邮件中嵌入邮件的 Windows 2000 库 (Cdosys.dll) 中使用 Microsoft 协作数据对象 (CDO)。 可以使用 Microsoft Visual C# 执行此操作。
请注意 Cdosys.dll 库也称为是 CDOSYS。
若要用于新邮件中嵌入邮件 CDOSYS 请按照下列步骤操作:
1. 启动 Microsoft Visual Studio.NET 或 Microsoft Visual Studio 2005。
2. 在 文件 菜单上单击 新建 ,然后单击 项目 。
3. 单击 Visual C# 项目类型 列表中的 控制台应用程序 。
情况默认,创建 Class 1.cs。
请注意 在 Microsoft Visual C# 2005 必须在 Visual C# 列表中单击 控制台应用程序 。 情况默认,创建 Program.cs。
4. 添加一个对 Microsoft CDO Windows 2000 库 的引用。 要这样做,请按下列步骤操作:
1. 在 项目 菜单上单击 添加引用 。
2. 在 COM 选项卡上找到 Microsoft CDO Windows 2000 库 ,然后单击 选择 。
请注意 在 Microsoft Visual C# 2005 没有单击 选择 。
3. 在 添加引用 对话框中,单击 确定 以接受您的选择。
如果您收到一条消息在您选择的库生成包装,单击 是 。
5. 在代码窗口中替换所有代码为以下代码:
namespace CdoSys
{
using System;
class Class1
{
static void Main(string[] args)
{
try
{
CDO.DropDirectory iDropDir = new CDO.DropDirectory();
CDO.IMessages iMsgs;
CDO.IBodyPart iBp;
CDO.IMessage iEmbdded;
CDO.Message oMsg;
CDO.IDataSource iDsrc;
// Create a new message.
oMsg = new CDO.Message();
oMsg.From = "rhaddock@northwindtraders.com";
oMsg.To = "rhaddock@northwindtraders.com";
oMsg.Subject = "CDOSYS Send mail";
oMsg.TextBody = "Hello";
iBp = oMsg.BodyPart.AddBodyPart(-1);
// Embed the message.
iMsgs = iDropDir.GetMessages("C://Inetpub//mailroot//Drop");
Console.WriteLine("Messages Count : " + iMsgs.Count.ToString());
// Get first message.
iEmbdded = iMsgs[1];
// Embed the message in oMsg by using BodyPart.
iDsrc = iEmbdded.DataSource;
iDsrc.SaveToObject(iBp, "IBodyPart");
// Send mail.
oMsg.Send();
iEmbdded = null;
oMsg = null;
iBp = null;
iMsgs = null;
iDropDir = null;
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
return;
}
}
}
oMsg.Send() ; iEmbdded = 空值 ; oMsg = 空值 ; iBp = 空值 ; iMsgs = 空值 ;
iDropDir = null;} catch (Exception e) {Console.WriteLine ("捕获 {0}
异常",e);} 返回 ;}}}。
6. 按 F 5 生成并运行该程序。
如何使用 Cdosys.dll 库通过使用 Visual C# 中处理投递目录中的邮件
文描述如何使用 for Windows 2000 库 (Cdosys.dll) 使其在邮件上的 Microsoft 协作数据对象 (CDO)。
本文介绍如何对 Microsoft Visual C#.NET 或 Microsoft Visual C# 2005 中的一个邮件操作。
若要操作消息,可以执行以下任何一个操作:
* 您可以单击 答复 。
* 您可以单击 全部答复 。
* 您可以单击 。
请注意 Cdosys.dll 库也称为是 CDOSYS。
若要用于处理一条消息 CDOSYS 请按照下列步骤操作:
1. 启动 Microsoft Visual Studio.NET 或 Microsoft Visual C# 2005 。
2. 在 文件 菜单上单击 新建 ,然后单击 项目 。
3. 单击 Visual C# 项目类型 列表中的 控制台应用程序 。
请注意 Microsoft Visual C# 2005 中单击 Visual C# 2005 列表中的 控制台应用程序 。
在 Visual 的 Studio.NET 中默认情况下将创建 Class 1.cs。 在 Visual 的 Studio 2005 中默认情况下被创建 Program.cs。
4. 添加一个对 Microsoft CDO Windows 2000 库 的引用。
要这样做,请按下列步骤操作:
1. 在 项目 菜单上单击 添加引用 。
2. 在 COM 选项卡上单击 Microsoft CDO Windows 2000 库 ,然后单击 选择 。
请注意 在 Visual 的 Studio 2005 中没有单击 选择 。
3. 在 添加引用 对话框中,单击 确定 以接受您的选择。
如果您收到一条消息在所选库生成包装,单击 是 。
5. 在代码窗口中替换所有代码为以下代码:
namespace CdoSys
{
using System;
class Class1
{
static void Main(string[] args)
{
try
{
CDO.DropDirectory iDropDir = new CDO.DropDirectory();
CDO.IMessages iMsgs;
CDO.IMessage iMsgReply;
CDO.IMessage iMsgReplyAll;
CDO.IMessage iMsgForward;
// Get the messages from the Drop directory.
iMsgs = iDropDir.GetMessages("C://Inetpub//mailroot//Drop");
Console.WriteLine("Messages Count : " + iMsgs.Count.ToString());
foreach (CDO.IMessage iMsg in iMsgs)
{
Console.WriteLine(iMsgs.get_FileName(iMsg));
// Output some common properties of the extracted message.
Console.WriteLine("Subject: " + iMsg.Subject);
Console.WriteLine("TextBody: " + iMsg.TextBody);
Console.WriteLine("datereceived: " + iMsg.Fields["urn:schemas:httpmail:datereceived"].Value);
Console.WriteLine("sendername: " + iMsg.Fields["urn:schemas:httpmail:sendername"].Value);
Console.WriteLine("senderemail: " + iMsg.Fields["urn:schemas:httpmail:senderemail"].Value);
Console.WriteLine("from: " + iMsg.Fields["urn:schemas:httpmail:from"].Value);
Console.WriteLine("sender: " + iMsg.Fields["urn:schemas:httpmail:sender"].Value);
// Reply.
iMsgReply = iMsg.Reply();
// TODO: Change "rhaddock@northwindtraders.com" to your e-mail address.
iMsgReply.From = "rhaddock@northwindtraders.com";
iMsgReply.TextBody = "I agree. You can continue." + "/n/n" + iMsgReply.TextBody;
iMsgReply.Send();
// This is ReplyAll.
iMsgReplyAll = iMsg.ReplyAll();
// TODO: Change "rhaddock@northwindtraders.com" to your e-mail address.
iMsgReplyAll.From = "rhaddock@northwindtraders.com";
iMsgReplyAll.TextBody = "I agree. You can continue" + "/n/n" + iMsgReplyAll.TextBody;
iMsgReplyAll.Send();
// This is Forward.
iMsgForward = iMsg.Forward();
// TODO: Change "rhaddock@northwindtraders.com" to your e-mail address.
iMsgForward.From = "rhaddock@northwindtraders.com";
// TODO: Change "Jonathan@northwindtraders.com" to the address that you want to forward to.
iMsgForward.To = "Jonathan@northwindtraders.com";
iMsgForward.TextBody = "You missed this." + "/n/n" + iMsgForward.TextBody;
iMsgForward.Send();
}
// Clean up memory.
iMsgs = null;
iMsgReply = null;
iMsgReplyAll = null;
iMsgForward = null;
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
return;
}
}
}
iMsgs = 空值 ; iMsgReply = 空值 ; iMsgReplyAll = 空值 ; iMsgForward = null;}
catch (Exception e) {Console.WriteLine ("捕获 {0} 异常",e);} 返回;}}}。
6. 其中"TODO:"出现在上面的示例代码修改代码如所示。
7. 按 F 5 生成并运行该程序。
如何使用 Cdosys.dll 库使用 Visual C# 将邮件保存到文件
告 ADO 和 ADO MD 尚未进行完全测试 Microsoft.NET Framework
环境中。它们可能会间歇性的问题导致尤其是在基于服务的应用程序或多线程应用程序中。 本文中讨论的技术只应作为临时措施迁移到 ADO.NET
的过程中。必须进行完整的测试以确保任何兼容性问题后,只能使用这些方法。 由使用 ADO 或 ADO MD
中这种方式引起的任何问题是不受支持。有关详细信息,请参见在以下文章的 Microsoft 知识库文章:
本文介绍如何使用协作数据对象 (CDO) 的 Windows 2000 库 (Cdosys.dll) 将邮件保存到文件在 Microsoft Visual C# 中。
请注意 Cdosys.dll 库也称为是 CDOSYS
"摘要"一节中描述用作 CDOSYS 请按照下列步骤操作:
1. 启动 Microsoft Visual Studio.NET 或 Microsoft Visual Studio 2005。
2. 在 文件 菜单上单击 新建 ,然后单击 项目 。
3. 项目类型 下, 单击 Visual C# 项目 ,然后单击 模板 下的 控制台应用程序 。 情况默认,创建 Class 1.cs。
请注意 Microsoft Visual C# 2005 中单击 项目类型 下的 Visual C# 。 情况默认,创建 Program.cs。
4. 添加一个对 Microsoft CDO Windows 2000 库 的引用。 要这样做,请按下列步骤操作:
1. 在 项目 菜单上单击 添加引用 。
2. 在 COM 选项卡上找到 Microsoft CDO Windows 2000 库 ,然后单击 选择 。
请注意 在 Microsoft Visual C# 2005 没有单击 选择 。
3. 若要接受您的选择,单击 添加引用 对话框中的 确定 。
如果您收到一条消息在所选库生成包装,单击 是 。
5. 在代码窗口中替换所有代码为以下代码:
namespace CdoSys
{
using System;
class Class1
{
static void Main(string[] args)
{
try
{
CDO.DropDirectory iDropDir = new CDO.DropDirectory();
CDO.IMessages iMsgs;
CDO.IMessage iMsg;
iMsgs = iDropDir.GetMessages("C://Inetpub//mailroot//Drop");
Console.WriteLine("Count: " + iMsgs.Count);
// Get first message.
iMsg = iMsgs[1];
ADODB.Stream stm = new ADODB.Stream();
stm.Open(System.Reflection.Missing.Value, ADODB.ConnectModeEnum.adModeUnknown,
ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified,
"", "");
stm.Type = ADODB.StreamTypeEnum.adTypeText;
stm.Charset = "US-ASCII";
CDO.IDataSource iDsrc;
iDsrc = iMsg.DataSource;
iDsrc.SaveToObject(stm, "_Stream");
// TODO: modify the file path.
stm.SaveToFile("C://temp//Test.eml", ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
iMsg = null;
iMsgs = null;
iDropDir = null;
iDsrc = null;
stm = null;
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
return;
}
}
}
stm.SaveToFile ("C://temp//Test.eml、
ADODB.SaveOptionsEnum.adSaveCreateOverWrite) ; iMsg = 空值 ; iMsgs = 空值 ;
iDropDir = 空值 ; iDsrc = 空值 ; STM = null;} catch (Exception e)
{Console.WriteLine ("捕获 {0} 异常",e);} 返回 ;}}}。
6. TODO 代码中出现的位置,修改代码,如所示。
7. 要生成并运行该程序,按 F 5。
如何使用 Cdosys.dll 库使用 Visual C# 中发送电子邮件带有附件
文介绍如何使用协作数据对象 (CDO) 的 Windows 2000 库 (Cdosys.dll) 发送带附件的电子邮件。 可以发送文本或
HTML 或网页的电子邮件正文中通过使用本地的 SMTP 服务器或使用在 Microsoft Visual C# 中的智能主机服务器。
请注意 Cdosys.dll 库也称为是 CDOSYS。
"摘要"一节中描述用作 CDOSYS 请按照下列步骤操作:
1. 启动 Microsoft Visual Studio。
2. 在 文件 菜单上单击 新建 ,然后单击 项目 。
3. 在 项目类型 ,下单击 Visual C# ,然后单击 模板 下的 控制台应用程序 。 情况默认,创建 Program.cs。
请注意 在 Microsoft Visual C#.NET 2003 中将 Visual C# 更改为 Visual C# 项目 。 情况默认,创建 Class 1.cs。
4. 添加一个对 Microsoft CDO Windows 2000 库 的引用。 要这样做,请按下列步骤操作:
1. 在 项目 菜单上单击 添加引用 。
2. 在 COM 选项卡上找到 Microsoft CDO Windows 2000 库 。
请注意 在 Visual C# N 单击 选择 。
3. 若要接受您的选择,单击 添加引用 对话框中的 确定 。
如果您收到一个对话框,在所选库生成包装,单击 是 。
5. 在代码窗口中替换所有代码为以下代码:
namespace CdoSys
{
using System;
class Class1
{
static void Main(string[] args)
{
try
{
CDO.Message oMsg = new CDO.Message();
CDO.IConfiguration iConfg;
iConfg = oMsg.Configuration;
ADODB.Fields oFields;
oFields = iConfg.Fields;
// Set configuration.
ADODB.Field oField = oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"];
//TODO: To send by using the smart host, uncomment the following lines:
//oField.Value = CDO.CdoSendUsing.cdoSendUsingPort;
//oField = oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"];
//oField.Value = "smarthost";
// TODO: To send by using local SMTP service.
//oField = oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"];
//oField.Value = 1;
oFields.Update();
// Set common properties from message.
//TODO: To send text body, uncomment the following line:
//oMsg.TextBody = "Hello, how are you doing?";
//TODO: To send HTML body, uncomment the following lines:
//String sHtml;
//sHtml = " HTML /n" +
// " HEAD /n" +
// " TITLE Sample GIF /TITLE /n" +
// " /HEAD /n" +
// " BODY P /n" +
// " h1 Font Color=Green Inline graphics /Font /h1 /n" +
// " /BODY /n" +
// " /HTML
//oMsg.HTMLBody = sHtml;
//TOTO: To send WEb page in an e-mail, uncomment the following lines and make changes in TODO section.
//TODO: Replace with your preferred Web page
//oMsg.CreateMHTMLBody("http://www.microsoft.com",
// CDO.CdoMHTMLFlags.cdoSuppressNone,
// "", "");
oMsg.Subject = "Test SMTP";
//TODO: Change the To and From address to reflect your information.
oMsg.From = "someone@example.com";
oMsg.To = "someone@example.com";
//ADD attachment.
//TODO: Change the path to the file that you want to attach.
oMsg.AddAttachment("C://Hello.txt", "", "");
oMsg.AddAttachment("C://Test.doc", "", "");
oMsg.Send();
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
return;
}
}
}
6. TODO 代码中出现的位置,修改代码,如所示。
7. 要生成并运行该程序,按 F 5。
8. 请验证该电子邮件已被同时发送和收到。
from: http://support.microsoft.com/kb/310221
http://support.microsoft.com/kb/310224/
http://support.microsoft.com/kb/310225/
http://support.microsoft.com/kb/310212/
python实现电子邮件附件指定时间段,批量下载以及C#小程序集成实现(二) 根据网上相关资料,使用python实现邮箱附件批量下载,然后打包生成exe后,虽是脱离了python环境便于她使用,可对于她们这些没有接触编程的人员来说,cmd命令行调用exe的操作不便于理解和操作。为此,界面化程序开发选择了C#,从而实现了C#调用python开发的exe来完成邮箱附件批量下载功能。
python实现电子邮件附件指定时间段,批量下载以及C#小程序集成实现(一) 根据网上相关资料,使用python实现邮箱附件批量下载,然后打包生成exe后,虽是脱离了python环境便于她使用,可对于她们这些没有接触编程的人员来说,cmd命令行调用exe的操作不便于理解和操作。为此,界面化程序开发选择了C#,从而实现了C#调用python开发的exe来完成邮箱附件批量下载功能。
命令行搞一切之发送有附件的邮件 今天我们看到了一种从 Linux 命令行发送电子邮件和附件的方法。还有一些其他程序,如“ mutt ”和“ Sendmail ”,它们与“ mail ”类似,可以用于相同的目的。
geovindu 读者是,读之者,者之读.一沙一世界! to be is to do举世皆清我独浊,众人皆醒我独醉.俺是农民工,程序员.
相关文章
- 如何在Visual Studio 2017中使用C# 7+语法
- 解决C#读写txt文件中文(汉字)乱码的问题
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- 10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(net,net core,C#)
- C# 7 .NET / CLR / Visual Studio version requirements
- Visual C#每一次新版本的变化
- Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解
- 如何使用T-SQL备份还原数据库及c#如何调用执行? C#中索引器的作用和实现。 jquery控制元素的隐藏和显示的几种方法。 localStorage、sessionStorage用法总结 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一) span<T>之高性能字符串操作实测
- C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
- 请求大神,C#如何截取字符串中指定字符之间的部分 按指定字符串分割 一分为二 c# 去除字符串中的某个已知字符
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- c# 把一个匿名对象赋值给一个Object类型的变量后,怎么取这个变量? c# dynamic动态类型和匿名类 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic 深入浅析C#中的var和dynamic
- 【卷土重来之C#学习笔记】(二)c#编程概述
- Word控件Spire.Doc 【图像形状】教程(9): 如何在 C# 和 VB.NET 中从 word 文档中删除形状
- Word处理控件Aspose.Words功能演示:在 C# .NET 中将 Word 转换为 PDF - 完整指南
- C#【文件操作篇】打开指定路径的文件夹
- C#,图论与图算法,计算图最大流量的福特-富尔克森(Ford Fulkerson)算法与源程序
- C#,图论与图算法,有向图(Directed Graph)的环(Cycle)的普通判断算法与源代码
- C#,单向链表(Simply Linked List)快速排序(Quick Sort)算法与源代码
- C#,入门教程(15)——类(class)的基础知识
- C#实现UDP组播
- C# 运算符与表达式
- C# 冒泡排序
- 《Visual C# 2010入门经典》一1.1 .NET Framework
- 《Visual C# 2010入门经典》一书1.3 Visual Studio 2010
- 基于C#+SqlServer开发(WinForm)学生宿舍管理系统【100010056】
- C#-中IO的应用
- c#二维数组
- C#-IO-读写文本txt文件中的数据
- 【C#】遍历List列表的同时,移除访问到的元素