在mojoportal项目中发邮件使用的是dotnetopenmail

[翻译]开源发送邮件组件dotnetopenmail使用介绍

在mojoportal项目中发邮件使用的是dotnetopenmail

介绍
发邮件是非常简单的,不管用System.web.mail [ASP.NET 1.1]或System.Net.mail [ASP.NET 2.0],但是还是有其他第三方组件可以被使用,比如DotNetOpenMail.他可以使你用最少的代码创建文本,html和带附件的邮件通过 smtp服务器发送.

你可以从这个网址得到组件:http://dotnetopenmail.sourceforge.net/

使用组件发送邮件

只要将DotNetOpenMail.dll引用到项目,并且写下下面的代码

//Using Namespaces that are to be included

using DotNetOpenMail;
using DotNetOpenMail.Logging;
using DotNetOpenMail.Encoding;
using DotNetOpenMail.Resources;
using DotNetOpenMail.SmtpAuth;

/*创建一个邮件对象 */
EmailMessage emailMessage 
= new EmailMessage();
/*添加发件人的邮箱地址*/
emailMessage.FromAddress 
= new EmailAddress("senderID@domainName.com");
/*添加收件人的邮箱地址*/
emailMessage.AddToAddress(
new EmailAddress("receiverID@domainName.com"));
/*添加邮件主题*/
emailMessage.Subject 
= "Subject of the Message"

/*设置邮件内容通过html附件*/
emailMessage.HtmlPart 
= new HtmlAttachment("<html><body><p>Write Down some BODY-Text here</p></body></html>");
/*初始化smtp服务器 */
SmtpServer smtpServer
=new SmtpServer("smtpout.domainName.com");

/* 提供smtp服务器上有效的用户名和密码*/
smtpServer.SmtpAuthToken
=new SmtpAuthToken("webmaster@domainName.com""password");
/*设置内容类型*/
emailMessage.ContentType 
= "TEXT/HTML"
/*发送邮件*/
emailMessage.Send(smtpServer);
Response.Write (
" Email Successfully Sent");

为邮件添加附件

/* 创建一个MemoryStream对象*/
MemoryStream memStream 
= new MemoryStream();
/* 创建一个StreamWriter 对象*/
StreamWriter writer 
= new StreamWriter(memStream);
/* 在StreamWriter对象中写入一些内容*/
writer.WriteLine(
" HELLO WORLD ! ");
writer.Flush();
/* 让memory stream指回文件的开始 */
memStream.Seek(
0, SeekOrigin.Begin);

/*创建一个文件附件且将memory stream中的内容添加进来*/
FileAttachment attachment 
= new FileAttachment(new StreamReader(memStream));
/*为文件附件设置名称,内容类型和字符集参数*/
attachment.FileName 
= "Hello.txt"
attachment.CharSet 
= System.Text.Encoding.ASCII;
attachment.ContentType 
= "text/plain"
/*将附件加入邮件中*/
emailMessage.AddMixedAttachment(attachment);
posted @ 2009-12-11 12:13  window5549-accp  阅读(318)  评论(0编辑  收藏  举报