关于ASP.NET中使用SMTP server发送邮件的IIS配置

关于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地址。