邮件发送解决方案
来源:互联网 发布:矩阵的秩8个性质证明 编辑:程序博客网 时间:2024/06/05 15:08
邮件发送功能在一般的Web开发中属于比较常见的功能,以前在做jsp开发时,写过这样的简单代码;今天闲着没事,花了我一个下午的时间,用ASP.NET把邮件发送功能实现了一下,还是有些心得,写出来和大家分享。这次的开发环境为VS.NET 2005。
首先简单的看看窗体页面,截图如下:
第一行:发送邮件的地址:控件ID号为Form_Address;
第二行:接收邮件的地址:控件ID号为To_Adddress;
第三行:抄送邮件的地址:控件ID号为Copy_Adddress;
第四行:密送邮件的地址:控件ID号为Secret_Adddress;
第五行:邮件的主题:控件ID号为Subject;
第六行:邮件的内容:控件ID号为Content;
第七行:附件:控件ID号为FileUploadName;后面是发送按钮,代码的的实现在按钮点击代码块中进行。
这里要特别介绍一下最后一行的FileUpLoad控件,我这里事实上没有使用FileUpLoad的web服务器控件,使用的是html控件,然后把TextBox设置为在服务器运行;今天浪费了一些时间在这上面,因为查msdn,用FileUpLoad控件无法获取到选择的文件的全名,包括完整的路径名和文件名,文件名很容易获取,但路径似乎没有相应的方法。后来只好用html控件代替,可能会有其他方法,懒得去琢磨。
下面看看具体的实现代码,我把主要的代码贴出来:
String from = this.From_Address.Text;
String to = this.To_Address.Text;
String cc = this.Copy_Address.Text;
String bcc = this.Secret_Address.Text;
String subject = this.Subject.Text;
String content = this.Content.Text;
String fileName = this.FileUploadName.Value;
try
{
System.Net.Mail.MailMessage myMail = new MailMessage(from, to, subject, content);
myMail.Priority = MailPriority.Normal;
myMail.IsBodyHtml=true;
myMail.ReplyTo = new MailAddress(from, "xxxx"); //邮件回复地址
//增加抄送和密送
MailAddress CCAdress = new MailAddress(cc);
MailAddress BCCAddress = new MailAddress(bcc);
myMail.CC.Add(CCAdress);
myMail.Bcc.Add(BCCAddress);
//增加附件内容
Attachment attach = new Attachment(fileName);
myMail.Attachments.Add(attach);
//发送邮件
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.sina.com.cn";
smtp.Credentials = new NetworkCredential("xxxx@sina.com","xxxx");
smtp.Send(myMail);
Response.Write("Email Success!");
}
catch (Exception err)
{
Response.Write(err.ToString());
}
从以上代码可以看出,在asp.net中实现发邮件的功能还是很简单的,这个程序基本上实现了主要的邮件功能。但还是需要注意几点,今天在网上看别人写的代码时,都没有提到,很容易出错。
首先该方法是借助发送方(From)的邮件发送服务来实现的,因此控件Form_Address的邮件地址必须为"xxxx@sina.com","xxxx"为密码;其次smtp.Host = "smtp.sina.com.cn";必须正确,我这里是利用了新浪邮箱的发送服务,当然是可以改成其他邮箱的发送服务的,但Host名必须正确,可以在网上查到的。
以上代码我在本机上测试过,给sina,163,gmail,hotmail发送邮件,都能收到,但也有小的意外,hotmail邮箱收到邮件是在垃圾邮箱中,其他都在收件夹中。以上只是邮件发送的简单实现,只能起到抛砖引玉的作用了。
- 邮件发送解决方案
- php定时发送邮件解决方案
- 几种不同的邮件发送解决方案
- 几种不同的邮件发送解决方案
- JavaMail发送邮件AuthenticationFailedException异常的解决方案
- 发送邮件(单发群发的解决方案)
- Jmail c#发送邮件完全解决方案
- Jmail c# 使用 发送邮件完全解决方案
- 用Flask-mail发送邮件失败解决方案
- 关于服务器上发送邮件程序发送失败的解决方案
- .NET环境下几种不同的邮件发送解决方案
- .NET环境下几种不同的邮件发送解决方案
- .NET环境下几种不同的邮件发送解决方案
- .NET环境下几种不同的邮件发送解决方案
- .NET环境下几种不同的邮件发送解决方案
- .NET环境下几种不同的邮件发送解决方案
- .NET环境下几种不同的邮件发送解决方案
- .NET环境下几种不同的邮件发送解决方案
- mysql命令集合
- 整合spring注意事项
- 一道PHP面试题
- 要有投资家的眼光去看待工作,在工作中,努力提高自己的实战技能,实战经验!
- android的binder机制研究(C++部分) 分享
- 邮件发送解决方案
- question
- 某放大器性能仿真系统项目总结
- 50种方法巧妙优化你的SQL Server数据库
- 关于linux中camera驱动的加载
- VC6.0编译器
- [应求汉化]LubbosFanControl100 风扇控速软件 汉化版
- 编写C#调用的C++DLL
- struts 标签logic:iterate用法详解