未收到CDO中的发送通知

时间:2010-03-31 12:22:36

标签: asp.net email

我有一个功能,当邮件重新接收到收件人时,使用CDO发送电子邮件并请求发送收据。

我使用以下代码:

CDO.Message msg = new CDO.Message();
CDO.Configuration conf = new CDO.Configuration();

conf.Fields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value = 1;
conf.Fields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value = txtHost.Text;
conf.Fields["http://schemas.microsoft.com/cdo/configuration/smtpserverport"].Value = 25;
conf.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value = txtPass.Text;
conf.Fields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value = txtUser.Text;

conf.Fields.Update();

msg.Configuration = conf;

msg.To       = txtTo.Text;
msg.From     = txtFrom.Text;
msg.Subject  = txtSubject.Text+" " + DateTime.Now;
msg.HTMLBody = txtBody.Text;
msg.BodyPart.Charset = "utf-8";

msg.DSNOptions = CdoDSNOptions.cdoDSNSuccessFailOrDelay;
msg.Fields.Update();
msg.Send();

现在,这可以在我的本地计算机上使用我的Web服务器正常工作,但是当在生产服务器中使用另一台邮件服务器时,未收到送达回执。

我相信我的邮件服务器和生产邮件服务器之间肯定存在差异,但我不知道它究竟是什么。

所以如果有人以前遇到过这样的问题,请告诉我该怎么做。

1 个答案:

答案 0 :(得分:0)

它几乎是偶然地在您的本地计算机上运行,​​因为您将它交付给自己。通过指定you have to explicitly tell CDO not to deliver to the local smtp

,在世界sendUsingPort中进行转发以进行转发
  

conf.Fields [“ttp://schemas.microsoft.com/cdo/configuration/sendusing”] .Value = 2