关于ASP.NET中使用SMTP server发送邮件的IIS配置
2007年12月17日 星期一 09:46
1.
首先打开IIS,然后点击默认SMTP虚拟服务器左边的加号,然后右击域,新建域,选远程
,下一步,名称一栏中填(打个比方,你要朝aa@163.com中发邮件,那么这里的名称就
要填写163.com),然后点完成。接着右击你刚才填加的域,选择属性,在出现的对话
框中勾选允许将传入邮件中继到此域。这样就OK了。
2.说一下SMTP配置。
(1)右键点击“SMTP虚拟服务器”选择“属性”->在“常规”选项卡中设置“IP地址(P)”,我设置的是192.168.1.100。
(2)选择“访问”选项卡,点击“中继”,选上“仅以下列表”(默认是被选上的),点击“添加”,在“单台计算机”中加入192.168.1.100。
提示,如果没有完成(2),则会出现大家常见的一种错误提示:服务器拒绝了一个或多个收件人地址。服务器响应为: 550 5.7.1 Unable to relay forscucj@126.com(友情提示一下:错误中的邮件地址有所不同)
3.发送邮件的问题 "与服务器的传输连接失败。"
IIS-------默认SMTP虚拟服务器---------属性-----------访问----------中继(按钮)-----选择最下面那个复选框
如果还不行,可以试试将自己的IP添加进上面那个允许中继栏里,然后将SmtpMail.SmtpServer改成相应的IP地址
启动了SMTP服务
SmtpMail.SmtpServer="mail.tellingtech.com"; 改ip看看
//发送邮件
try
{
MailMessage aMessage = new MailMessage();
aMessage.From = Request.Form["ss_From"].ToString();
aMessage.To = Request.Form["ss_To"].ToString();
aMessage.Subject = Request.Form["ss_Subject"].ToString();
aMessage.Body = aSr.ReadToEnd();
aMessage.BodyFormat = MailFormat.Html;
SmtpMail.Send(aMessage);
Response.Redirect(Request.Form["ss_Redirect"].ToString());
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());//这句是刚才改的,不知道是否有错。
}
***************************************************************************
以上是好用的代码。注意IIS的Smtp必须打开,IP是合法的Internet地址。
|