漂泊雪狼的博客

思考,讨论,分享C#,JavaScript,.NET,Oracle,SQL Server……技术

导航

.NET环境下两种不同的邮件发送解决方案

Posted on 2006-08-29 17:13  漂泊雪狼  阅读(601)  评论(0)    收藏  举报

1、使用outLook提供的发送
优点:开发简单
缺点:依赖outlook组件,SMTP 邮件服务

邮件发送的代码如下:

 1Private Sub Send()
 2        Dim outObj As New Outlook.Application()
 3        Dim Item As Outlook.MailItemClass
 4        Item = outObj.CreateItem(0)
 5        Item.To = "lihonggen0@163.com "
 6        Item.Subject = "hello"
 7        Item.Body = "hell"
 8        Item.Attachments.Add("C:\abc.txt")
 9        Item.Send()
10End Sub

11

参考:使用 Microsoft Outlook 2002 开发解决方案http://www.microsoft.com/china/msdn/library/dndotnetout2k2/html/odc_oldevsol.asp

2、使用JMail组件
Jmail具有以下特点:
(1)可以发送附件;
(2)详细日志能力,便于你查看问题所在;
(3)设置邮件发送的优先级;
(4)支持多种格式的邮件发送,比如说以HTML或者TXT的方式发送邮件。这是个免费的组件。
(5)密件发送/(CC)抄送/紧急信件发送能力;
(6)最关键的就是--免费的组件,不必发钱,所以非常值得使用。
网站:http://www.dimac.net/,目前版本是4.3

JMail组件的常用属性:
Body   邮件正文
Logging   调用Log记录,供Debug用
Priority   邮件的优先程度,从1到5
Sender   发件人
ServerAddress   SMTP服务器的IP地址或名称
Subject   邮件标题

JMail组件的常用方法:
AddAttachment   指定附件文件
AddRecipient   加入一个收件人
AddRecipientBCC   隐藏的副本抄送,只有发件人和BCC收件人知道。
AddRecipientCC   副本抄送
Execute   送出邮件

了解必要的属性及方法后,余下的部分接收使用者输入的Email,当成参数传给AddRecipient方法,然后根据需要填上其余属性,最后以Execute方法寄出。例如:

 1Dim JMail
 2        JMail = Server.CreateObject("JMail.SMTPMail")
 3        JMail.Logging = True
 4        JMail.ServerAddress = "202.96.144.48"
 5        JMail.Sender = "lihonggen0@163.com"
 6        JMail.Subject = "subject."
 7        JMail.Body = "body."
 8        JMail.AddRecipient("bbbb@163.com")
 9        JMail.AddAttachment("c:\go.gif")
10        JMail.Priority = 3
11        JMail.Execute()
12        JMail = Nothing
13

用C#实现的代码如下:

 1jmail.Message Jmail = new jmail.Message();
 2        DateTime t = DateTime.Now;
 3        Jmail.Silent = true;
 4        Jmail.Logging = true;
 5        Jmail.Charset = "GB2312";
 6        //信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
 7        Jmail.ContentType = "text/html";
 8        //添加收件人
 9        Jmail.AddRecipient("weiweictgu#126.com""""");
10        Jmail.From = "daiduoduoduo#126.com";
11        //发件人邮件用户名
12        Jmail.MailServerUserName = "daiduoduoduo";
13        //发件人邮件密码
14        Jmail.MailServerPassWord = "123456";
15        //设置邮件标题
16        Jmail.Subject = "This is a test!";
17        //邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
18        //Jmail.AddAttachment("c:\\test.jpg", true, null);
19        //邮件内容
20        Jmail.Body = "邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment" + t.ToString();
21        //Jmail发送的方法
22        Jmail.Send("smtp.126.com"false);
23        Jmail.Close();