您的位置:首页 > 编程语言 > ASP

Asp.net 自动发送邮件的方法

2011-12-06 14:33 561 查看
Asp.net 自动发送邮件的方法
今天有一个模块需要自动发送邮件的功能,就随便写了一个,记录一下作为积累。
一、首先需要配置web.config文件:
<system.net>
<mailSettings>
<smtp from="Emailname">
<network host="smtp.163.com" userName="Emailname" password="Emailpassword"
port="25" defaultCredentials="false"/>
</smtp>
</mailSettings>
</system.net>
二、然后编写发送邮件的函数:
//// <summary>
/// 邮件发送方法(带附件)
/// </summary>
/// <param name="mailto">收件人地址。如:receiver@163.com</param>
/// <param name="mailsubject">邮件标题</param>
/// <param name="mailbody">邮件正文</param>
/// <param name="mailFrom">邮件发送人地址。如:sender@163.com</param>
/// <param name="list">附件路径</param>
/// <returns></returns>
public bool MySendMail(string mailto, string mailsubject, string mailbody, string mailFrom, ArrayList list)
{
try
{
//邮件发送人地址
System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress(mailFrom);
//如test@163.com,初步测试,用test@sina.com不行,用163的邮件服务器,就必须用163邮箱的用户名
//收件人地址
System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress(mailto);//如test@tom.com
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(from, to);
mail.Subject = mailsubject;
mail.Body = mailbody;
//以下设置服务器
System.Net.Mail.SmtpClient mySmth = new System.Net.Mail.SmtpClient();
//以下为增加附件
int count = list.Count;
for (int i = 0; i < count; i++)
{
System.Net.Mail.Attachment data = new System.Net.Mail.Attachment(list[i].ToString());
mail.Attachments.Add(data);
}
mySmth.Send(mail);
mail.Dispose();
return true;
}
catch
{
return false;
}
}
三、最后就是对函数的调用了:
//自动发送邮件
string mailSubject = "会员注册确认函";
string mailBody = "正文内容。";
string mailFrom = ConfigurationManager.AppSettings["SendMail"];
ArrayList List = new ArrayList();
List.Add(Server.MapPath(ConfigurationManager.AppSettings["SendMailText"]));
if (MySendMail(this.txtEmail.Text, mailSubject, mailBody, mailFrom, List))
{
...
//发送成功,进行相应处理
}
else
{
...
//发送失败,进行相应处理
return;
}

*************************
方法三:群发邮件,设置web.config文件

public void SendEmail()

{

string mailto = "to1@company.com,to2@company.com";

string title = "mail title here";

string content = "mail content here";

SmtpClient smtp = new SmtpClient();

MailMessage message = new MailMessage();

MailAddressCollection address = new MailAddressCollection();

string[] mailtos = mailto.Split(',');

for (int i = 0; i < mailtos.Length; i++)

{

address.Add(mailtos[i]);

}

foreach (MailAddress add in address)

{

message.To.Add(add);

}

message.SubjectEncoding = System.Text.Encoding.UTF8;

message.BodyEncoding = System.Text.Encoding.UTF8;

message.Subject = title;

message.Body = content;

smtp.Send(message);

message.Dispose();

address.Clear();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: