2010-03-31 5 views
0

У меня есть функция, которая использует CDO для отправки писем с запросом на получение квитанции о доставке, когда почта повторяет получателя.Не получать уведомления о доставке в 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(); 

Теперь это прекрасно работает на моей локальной машине с моего веб-сервера, но при использовании в сервере с другим почтовым сервером квитанции доставки не были получены.

Я считаю, что между моим почтовым сервером и производственным почтовым сервером должна быть разница, но я не знаю, что это может быть точно.

Так что, если кто-либо столкнулся с такой проблемой раньше, скажите мне, что делать.

ответ

0

Он работает на вашей локальной машине почти случайно, потому что вы доставляете ее себе. Для того, чтобы работать в мире you have to explicitly tell CDO not to deliver to the local smtp для релейной защиты, указав sendUsingPort

conf.Fields [ "ТТП: //schemas.microsoft.com/cdo/configuration/sendusing"] .Value = 2

+0

Спасибо много чувак, он, наконец, работал –

Смежные вопросы