MAPI - Mail, nRetcode siempre 0

MAPI - Mail, nRetcode siempre 0

Postby Jorge_T » Mon May 20, 2019 8:51 am

Hola a todos,

Puedo enviar emails sin problema con Windows 10 y Thunderbird (MAPI), el problema es que cuando la dirección del destinatario es errónea Thunderbird lo detecta pero el valor de retorno de que el mensaje ha sido enviado es siempre 0 por lo que al enviar varios mensajes desde una aplicación al finalizar no hay forma de controlar cuales no han sido enviados.

Estoy atascado con el tema y no logro ver la solución,

Saludos,

#include "FiveWin.ch"
#include "mail.ch"
function EMessage()
Local oMail
DEFINE MAIL oMail ;
SUBJECT "Asunto..." ;
TEXT "Cuerpo del mensaje....." ;
TO "demo@demostracion.com"
ACTIVATE MAIL oMail

MsgInfo( oMail:nRetCode )

return nil
Jorge
--------------------------------------------------
Fivewin 18.10 - Harbour - BCC 7 - PellesC
--------------------------------------------------
Jorge_T
 
Posts: 38
Joined: Tue Jan 22, 2019 8:28 am

Re: MAPI - Mail, nRetcode siempre 0

Postby karinha » Mon May 20, 2019 1:24 pm

Code: Select all  Expand view  RUN

#include "FiveWin.ch"
#include "mail.ch"

STATIC oWnd

function Main()

   LOCAL oBar
   LOCAL MailTo, cSndFile, cSndFile2, cText, cSubj, aFiles

   MailTo   := "kapiabafwh@gmail.com; demo@demostracion.com"

   // Archivos
   cSndFile  := "C:\FWH1701\SAMPLES\COMP.Log"
   cSndFile2 := "C:\FWH1701\SAMPLES\ERROR.Log"

   IF .NOT. FILE( cSndFile )

      cSndFile := ""

   ENDIF

   IF .NOT. FILE( cSndFile2 )

      cSndFile2 := ""

   ENDIF

   cText    := "Mister Jorge...                                   "

   cSubj    := "Errores en el programa..       "

   DEFINE WINDOW oWnd TITLE "Send Mail"

   DEFINE BUTTONBAR oBar _3D OF oWnd

   DEFINE BUTTON OF oBar ACTION( SendMail2( MailTo, cSndFile, cSndFile2, cText, cSubj ) )

   SET MESSAGE OF oWnd TO "Send Mail" NOINSET CLOCK DATE KEYBOARD

   ACTIVATE WINDOW oWnd

return nil
// Envia Error
FUNCTION SendMail2( MailTo, cSndFile, cSndFile2, cText, cSubj )

   LOCAL oMail

   DEFINE MAIL oMail                                                         ;
      SUBJECT cSubj                                                          ;
      TEXT cText                                                             ;
      FILES cSndFile, cSndFile, cSndFile2, cSndFile2                         ;
      FROM USER                                                              ;
      TO MailTo

   ACTIVATE MAIL oMail

   IF ( oMail:nRetCode ) = 0

      MsgInfo( "Mensagem Enviada com Sucesso", "Aviso" )

   ELSE

      MsgInfo( OemToAnsi( "NÆo Foi Possivel Enviar a Mensagem de Erro" ),    ;
               OemToAnsi( "NÆo Foi Possivel Enviar a Mensagem de Erro" ) )

   ENDIF

RETURN( .T. )
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: MAPI - Mail, nRetcode siempre 0

Postby Jorge_T » Mon May 20, 2019 2:49 pm

Muchas gracias Karinha,

Pero el problema es el mismo, después de compilar tu ejemplo, si envio a un email erróneo, por ejemplo "demo@demostracionx.com", nRetcode es 0 por lo que el programa informa que el mensaje a sido enviado...

Sin embargo, si que nos informa correctamente con error si no adjuntamos un archivo valido. Si no es mucho pedir, intenta hacer la prueba,

Saludos,
Image
Image
Jorge
--------------------------------------------------
Fivewin 18.10 - Harbour - BCC 7 - PellesC
--------------------------------------------------
Jorge_T
 
Posts: 38
Joined: Tue Jan 22, 2019 8:28 am

Re: MAPI - Mail, nRetcode siempre 0

Postby karinha » Mon May 20, 2019 3:14 pm

El correcto és que tu haga una FUNCTION para criticar los emails erroneos. El windows live és que debe retornar un erro de envio.

No hay error en este email: demo@demostracion.com solo no ejiste.

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: MAPI - Mail, nRetcode siempre 0

Postby Jorge_T » Fri May 24, 2019 2:53 pm

karinha wrote:El correcto és que tu haga una FUNCTION para criticar los emails erroneos. El windows live és que debe retornar un erro de envio.

No hay error en este email: demo@demostracion.com solo no ejiste.

Saludos.


Muchas gracias Karinha,

Tienes toda la razón, estaba "ofuscado", no hay un error en el formato del email.

Lo correcto sería chequear si la dirección de email existe....

Es posible hacerlo con fivewin???

Saludos,
Jorge
--------------------------------------------------
Fivewin 18.10 - Harbour - BCC 7 - PellesC
--------------------------------------------------
Jorge_T
 
Posts: 38
Joined: Tue Jan 22, 2019 8:28 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 33 guests