ASP.NET 调用2008部署的SMTP服务自动发邮件
2014-03-27 14:33
447 查看
很多时候,开发的web应用程序由于需要向用户发送邮件提醒,不得不使用SMTP协议完成自动邮件转发。邮件的常用协议包括SMTP和POP3,对于POP3而言功能更强大,但是仅作为发送段的邮件提醒或类似验证链接之类请求,用SMTP无疑是最好的选择。
1、首先,我们得在自己的windows服务器上部署好IIS,以2008为例,添加SMTP服务。
进入“控制面板”——“管理工具”——“服务器管理器”——“功能”——右边“添加功能”——选择“SMTP服务器”,添加时会提示安装必要的IIS6.0组件,默认安装就可以了,如图:
2、进入IIS6.0 ,可以看到[SMTP virtual server #1]的服务。下面做的就是要保证程序如何与SMTP进行互通。LT是在虚拟机下做的实验,虚拟机IP为192.168.137.10,保证虚拟机能够联网,否则无法用SMTP发邮件。
默认情况下,SMTP服务是禁止任何IP段访问自身的SMTP服务的,应该是处于防止垃圾邮件保护。接下来的就是设置如何访问SMTP。右键[SMTP virtual server ] ,点击属性:
进入访问选项卡:
为了进行最基本的测试,身份验证可以选择匿名(默认):
但是“链接”和“中继”里面需要修改,将“仅以下列表”改为“仅以下列表除外",这里的意思大致是哪些ip能够访问我的SMTP服务。
点击确定即可。或者选择“仅一下列表”,将自己的主机地址添加进入。
现在即部署好SMTP服务。
3、利用c# 连接SMTP服务,自动发送邮件。
主函数代码,想邮箱des发送消息mess :
连接SMTP,发送邮件,需要添加引用
using System.Net;
using System.Net.Mail;
进入邮箱查收验证
代码下载地址:http://download.csdn.net/detail/longteng1116/7107097
1、首先,我们得在自己的windows服务器上部署好IIS,以2008为例,添加SMTP服务。
进入“控制面板”——“管理工具”——“服务器管理器”——“功能”——右边“添加功能”——选择“SMTP服务器”,添加时会提示安装必要的IIS6.0组件,默认安装就可以了,如图:
2、进入IIS6.0 ,可以看到[SMTP virtual server #1]的服务。下面做的就是要保证程序如何与SMTP进行互通。LT是在虚拟机下做的实验,虚拟机IP为192.168.137.10,保证虚拟机能够联网,否则无法用SMTP发邮件。
默认情况下,SMTP服务是禁止任何IP段访问自身的SMTP服务的,应该是处于防止垃圾邮件保护。接下来的就是设置如何访问SMTP。右键[SMTP virtual server ] ,点击属性:
进入访问选项卡:
为了进行最基本的测试,身份验证可以选择匿名(默认):
但是“链接”和“中继”里面需要修改,将“仅以下列表”改为“仅以下列表除外",这里的意思大致是哪些ip能够访问我的SMTP服务。
点击确定即可。或者选择“仅一下列表”,将自己的主机地址添加进入。
现在即部署好SMTP服务。
3、利用c# 连接SMTP服务,自动发送邮件。
主函数代码,想邮箱des发送消息mess :
protected void Button1_Click(object sender, EventArgs e) { string des = "longteng_1116@163.com"; string mess = "测试"; if (IF_Mail.SendEmail(des, mess)) IF_WebPopMessage.PopMessage(Button1, "发送成功"); else IF_WebPopMessage.PopMessage(Button1, "发送失败!"); }
连接SMTP,发送邮件,需要添加引用
using System.Net;
using System.Net.Mail;
public static bool Send_Message(string user_mail, string message) { string des = user_mail; string mess = message; SmtpClient smtp = new SmtpClient(); //实例化一个SmtpClient smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //将smtp的出站方式设为 Network //smtp.EnableSsl = true; //smtp服务器是否启用SSL加密,为设置为false smtp.Host = "192.168.137.10"; //指定 smtp 服务器地址 // smtp.Port = 25; //指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去 //如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了 smtp.UseDefaultCredentials = true; //如果需要认证,则用下面的方式 //smtp.Credentials = new NetworkCredential("administrator", "************"); MailMessage mm = new MailMessage(); //实例化一个邮件类 mm.From = new MailAddress("hello@long.cn", "LT-SMTP服务器", System.Text.Encoding.UTF8); //收件方看到的邮件来源; //第一个参数是发信人邮件地址 //第二参数是发信人显示的名称 //第三个参数是 第二个参数所使用的编码 mm.ReplyTo = new MailAddress("longteng_1116@163.com", "BookTouch", System.Text.Encoding.UTF8); //ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信 //上面后两个参数的意义, 同 From 的意义.Encoding.GetEncoding(936) mm.To.Add(des); //邮件的接收者 mm.Subject = "Web系统通知"; //邮件标题 mm.SubjectEncoding = System.Text.Encoding.UTF8; mm.Body = mess; mm.BodyEncoding = System.Text.Encoding.UTF8; mm.IsBodyHtml = true; //邮件正文是否是HTML格式 mm.BodyEncoding = System.Text.Encoding.UTF8; smtp.Send(mm); return true; }
进入邮箱查收验证
代码下载地址:http://download.csdn.net/detail/longteng1116/7107097
相关文章推荐
- asp.net调用jmail自动发邮件
- 每日学习总结:CSS:Clear属性的用法、重复交易提示框、弹出提示框后页面变形、asp.net调用smtp服务发送邮件问题
- 每日学习总结:CSS:Clear属性的用法、重复交易提示框、弹出提示框后页面变形、asp.net调用smtp服务发送邮件问题
- 利用Flash Builder 4.5的数据服务功能,从Asp.net的WebService,自动生成调用代码
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(10):服务器端和客户端数据类型的自动转换:以XML方式序列化数据、小结
- asp.net web service应用程序的生成、发布+在本地iis服务器部署,调用
- server 2008 IIS 7下asp.net开发环境部署及配置
- Asp.net网站的ClickOnce自动部署(3)-虚拟目录的配置
- asp.net中编写 windows 服务程序以及调用
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(6):服务器端和客户端数据类型的自动转换:复杂类型
- 关于极光速推 远程服务区ASP.NET C#调用方式
- WinServiceTask 任务调度,也可以用于ASP.NET实现自动服务
- VS2010+Windows 2008部署网站及asp.net业务系统问题收集
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- ASP.NET 自动发邮件
- Visual Studio 2008中ASP.NET AJAX的新应用程序服务:Role Application Service
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 创建基于ASP.NET的SMTP邮件服务