使用System.Web.Mail发送Mail的错误解决方案

        在ASP.NET 1.1上面发送Mail,使用的是System.Web.Mail命名空间,而使用的是STMP Server进行发送。代码非常简单,下面是一个SendMail函数,它接收一封邮件需要的各个要素,然后使用SmtpMail.Send方法发送邮件。

 1  public   static   void  SendMail( string  to,  string  from,  string  subject,  string  body,  string  smtpServer)
 2  {
 3      MailMessage message  =   new  MailMessage();
 4      message.To  =  to;
 5      message.From  =  from;
 6      message.Subject  =  subject;
 7      message.Body  =  body;
 8 
 9       try
10      {
11          SmtpMail.SmtpServer  =  smtpServer;
12          SmtpMail.Send(message);
13      }
14       catch (Exception e)
15      {
16      }
17  }

        写这篇文章不是为了说明怎么使用这个函数,因为这个在MSDN上写得已经非常清楚。这个函数用起来看似简单,实际上暗藏玄机。如果你不作任何设置就使用如下的方法来发送mail,你立即会的到一个错误信息:

1  SendMail( " [email protected] " " [email protected] " " test " " test " " 127.0.0.1 " );

错误信息说:"could not access 'CDO.Message' Object"。收到这样的消息,你要做到第一件事就是去查看innerexception的内容,然后根据它来做处理。

如果innerexception=' Exception has been thrown by the target of an invocation',那么你就应该尝试打开inetmgr,到右击"默认SMTP虚拟服务器"->"属性"->"访问"->"中继",然后加入127.0.0.1这个地址就可以解决问题。

如果需要更多这方面的帮助,请访问 http://www.systemwebmail.com/

你可能感兴趣的:(System)