用 System.Web.Mail.SmtpMail 发信出现异常


Could not access 'CDO.Message' object

可能的原因有很多,最常见的是权限不足。在 http://blog.joycode.com/ghj 下有一个 post 列出了不少。我们有一个程序由于 web server 重新设置过了,出现了该问题。我找到这个 KB:
http://support.microsoft.com/?id=260985

内容摘录一点如下:(因为网上的东西当你需要看的时候,链接往往就不能访问了,这是我的切身体会。所以复制一遍还是有必要的 -_-)

SUMMARY

This article discusses the minimum NTFS permissions that are required to use Collaboration Data Objects for Windows NT Servers (CDONTS) in conjunction with either the Internet Information Server (IIS) SMTP service or the Exchange Server Internet Mail Service.

MORE INFORMATION

If you are using CDONTS with the Option Pack SMTP service, the following minimum NTFS permissions are required: • The IUSR account must have Add rights to the Mailroot\Pickup folder. • If you are running CDONTS out of process, the IWAM account must have Add rights to the Mailroot\Pickup folder. • The System account must have Full Control rights to the entire Mailroot folder structure. • The default location for the Mailroot folder is Inetpub\Mailroot.If you are using CDONTS with Exchange Server, the following minimum NTFS permissions are required: • The IUSR account must have Add rights to the Exchsrvr\Imcdata\Pickup folder. • If you are running CDONTS out of process, the IWAM account must have Add rights to the Exchsrvr\Imcdata\Pickup folder. • The Exchange Server service account must have Full Control rights to the entire Exchsrvr\Imcdata folder structure.

按照这个设置解决了我的问题。