2016-05-26 9 views
0

配送通知をリクエストする際に問題が発生しました。メッセージが失敗した場合にのみ配信ステータスを取得したいので、lole_Msg.DSNOptions = doDSNFailureを設定しますが、大文字と小文字の区別はありません。私は一日に90以上の電子メールを送っているので、一種の不愉快なことです。私は90の返品領収書を受け取り、電子メールが失敗した場合にのみ返品受領をします。CDOとパワービルダーを使用した返品確認エラー

//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="[email protected]" 

lole_Msg.Subject= arg_asunto 

lole_Msg.HtmlBody = arg_texto 

lole_Msg.Fields("urn:schemas:mailheader:disposition-notification-to").value = "[email protected]" 

lole_Msg.Fields("urn:schemas:mailheader:return-receipt-to").value = "[email protected]" 

lole_Msg.DSNOptions = cdoDSNFailure 

lole_Msg.Fields.Update() 

lole_Msg.Send() 

destroy lole_msg 

destroy lole_Conf 

私が間違っていることを知りません。

ありがとうございます!

答えて

0

.Fieldsの2つをコメントにして、動作するかどうかを確認してください。

... 
lole_Msg.Configuration=lole_Conf 
lole_Msg.To= arg_destinatario 
lole_Msg.From="[email protected]" 
lole_Msg.Subject= arg_asunto 
lole_Msg.HtmlBody = arg_texto 
//lole_Msg.Fields("urn:schemas:mailheader:disposition-notification-to").value = "[email protected]" 
//lole_Msg.Fields("urn:schemas:mailheader:return-receipt-to").value = "[email protected]" 
lole_Msg.DSNOptions = cdoDSNFailure 
lole_Msg.Fields.Update() 
lole_Msg.Send() 
... 
+0

私は関数が配信失敗を通知するために、誰を知っているんどのようにこれらの行をコメントする場合は? (この例では:[email protected])。ご覧のとおり、私はannonymusを使用してSMTP経由で送信しています - 返信メールはありません(lole_Msg.From = "[email protected]")。ありがとう! – wen

関連する問題