我在请求递送通知时遇到问题。我希望仅在消息失败时获取传递状态,所以我设置:lole_Msg.DSNOptions = doDSNFailure但我收到邮件无论如何。这有点令人讨厌,因为我每天发送超过90封电子邮件,我收到90份回复收据,如果邮件失败,我只想要返回收据。
//w
/****
FUNCION: gf_envia_mail(arg_destinatario,arg_asunto,arg_texto,arg_adjuntos)
RETORNA: NADA
PARAMETROS
:
STRING: ARG_DESTINATARIO
STRING: ARG_ASUNTO
STRING: ARG_TEXTO
STRING: ARG_ADJUNTOS
DESCRIPCION: Recibe por parametro destinatario, asunto, cuerpo y adjuntos y envia un mail mediante un objeto ole.
****/
oleobject lole_Msg,lole_Conf
string ls_cadena_total, ls_cadena
long ll_i, ll_len
integer li_nro
string ls_strHTML
//'Delivery Status Notifications
Constant integer cdoDSNDefault = 0 //'None
Constant integer cdoDSNNever = 1 //'None
Constant integer cdoDSNFailure = 2 //'Failure
Constant integer cdoDSNSuccess = 4 //'Success
Constant integer cdoDSNDelay = 8 //'Delay
Constant integer cdoDSNSuccessFailOrDelay = 14 //'Success, failure or delay
lole_Msg=create oleobject
if lole_Msg.ConnectToNewObject("CDO.Message")<0 then
messagebox('OBI','CDO.Message')
destroy lole_msg
return
end if
lole_Conf=create oleobject
if lole_Conf.ConnectToNewObject("CDO.Configuration")<0 then
messagebox('OBI','CDO.Configuration')
destroy lole_msg
destroy lole_Conf
return
end if
lole_Conf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").value=2
lole_Conf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").value= "192.168.0.xx"
lole_Conf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").value = 30 // tiempo de espera
lole_Conf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").value=25
lole_Conf.Fields.Update()
lole_Msg.Configuration=lole_Conf
lole_Msg.To= arg_destinatario
lole_Msg.From="algo@algo.com.ar"
lole_Msg.Subject= arg_asunto
lole_Msg.HtmlBody = arg_texto
lole_Msg.Fields("urn:schemas:mailheader:disposition-notification-to").value = "myemail@myemail.com.ar"
lole_Msg.Fields("urn:schemas:mailheader:return-receipt-to").value = "myemail@myemail.com.ar"
lole_Msg.DSNOptions = cdoDSNFailure
lole_Msg.Fields.Update()
lole_Msg.Send()
destroy lole_msg
destroy lole_Conf
不知道我做错了什么。
提前致谢!
答案 0 :(得分:0)
尝试将这两个.Fields
注释掉,看看是否有效。
...
lole_Msg.Configuration=lole_Conf
lole_Msg.To= arg_destinatario
lole_Msg.From="algo@algo.com.ar"
lole_Msg.Subject= arg_asunto
lole_Msg.HtmlBody = arg_texto
//lole_Msg.Fields("urn:schemas:mailheader:disposition-notification-to").value = "myemail@myemail.com.ar"
//lole_Msg.Fields("urn:schemas:mailheader:return-receipt-to").value = "myemail@myemail.com.ar"
lole_Msg.DSNOptions = cdoDSNFailure
lole_Msg.Fields.Update()
lole_Msg.Send()
...