FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour error con rmail
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
error con rmail
Posted: Mon May 13, 2013 07:51 PM
Hola, usando rmail para enviar los correos, de buenas a primeras me dejo de funcionar sin haber cambiado ningún parametro del mismo. Alguna idea del porque?

Primero empezó desde la pc que hacía las facturas electrónicas, (El programa genera la factura y a su vez guarda los datos para enviar en otro momento la factura generada), bueno las enviamos con el programa desde la pc que hace de servidor, ahora cambié a otra pc las bases de datos y me muestra el mensaje en el que informa no se puede enviar el mensaje.

Code (fw): Select all Collapse
FUNCTION ENVIO(cPara,cCopia,cDato,cAsunto,aAdjunto,cBBC)
local cCcopia  := ""
local cCadjunto := " "
local lenvio := .f.
if !empty(cCopia)
    cCcopia := alltrim(cCopia)
endif

waiton("Enviando mensaje")
? oApp:nombre
? oApp:pass
? oApp:correo
? cPara
? cDato
? cAsunto
//? aAdjunto[1]
? oApp:smtp
? oApp:puerto
 if config_mail(oApp:nombre,oApp:pass,oApp:correo,cpara,cCcopia,cBBC,cDato,cAsunto,aAdjunto,oApp:smtp,oApp:puerto )
    waitoff()
    return lenvio := .t.
 else
      Msginfo("No se pudo enviar el mensaje","Atención")
 endif
waitoff()
RETURN lenvio
//--------------------------------------------------------------------------------------------------------------------------------//

Function Config_Mail(_cUser,cPass,_cRemt,cDest, cCC, cCCO, cTxt, cSubject,aAdjunto,cSirve,nPuerto)

  local lRet := .f.
  local oCfg, oError
  local cServ := alltrim( cSirve )  //--> SERVIDOR SMTP - "smtp.servidor.com.br"
  local nPort :=nPuerto
  local lAut  := .t.
  local lSSL  := .f.         
  local cUser, cremt




  if Empty(cPass) .or. Empty(_cRemt) .or.;
    ( Empty(cDest) .and. Empty( cCC ) .and. Empty(cCCO) )
     ? "Completar todos los Campos"
     return .f.
  else
     cUser := alltrim(_cUser)
     cRemt := alltrim(_cRemt)
  endif

  TRY
    oCfg := CREATEOBJECT( "CDO.Configuration" )
      WITH OBJECT oCfg:Fields
           :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver"       ):Value := cServ
           :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport"   ):Value := nPort
           :Item( "http://schemas.microsoft.com/cdo/configuration/sendusing"        ):Value := 2
           :Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := lAut
           :Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl"       ):Value := lSSL
           :Item( "http://schemas.microsoft.com/cdo/configuration/sendusername"     ):Value := cUser
           :Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword"     ):Value := cPass
              :Update()
      END WITH
      lRet := .t.
  CATCH oError
    MsgInfo( "Nofue posible enviar el e-Mail!"  +CRLF+ ;
             "Error: "     + Transform(oError:GenCode,   nil) + ";" +CRLF+ ;
             "SubC: "      + Transform(oError:SubCode,   nil) + ";" +CRLF+ ;
             "OSCode: "    + Transform(oError:OsCode,    nil) + ";" +CRLF+ ;
             "SubSystem: " + Transform(oError:SubSystem, nil) + ";" +CRLF+ ;
             "Mensaje: "   + oError:Description, "Atención" )

  END
  //--> FIM DAS CONFIGURAÇOES.
  if lRet
     lRet := Envia_Mail(oCfg,cRemt,cDest, cCC, cCCO, cTxt, cSubject,aAdjunto)   
  endif

Return lRet

********************************************************************************
Function Envia_Mail(oCfg,cFrom, cTo, cCC, cBCC, cMsg, cSubject,aAttach)

  local cToken
  local lRet := .f.
  local x := 0
  local oMsg

    
       TRY
         oMsg := CREATEOBJECT ( "CDO.Message" )
           WITH OBJECT oMsg
                :Configuration = oCfg
                :From = alltrim(cFrom)
                 :To = alltrim(cTo)
                 if !empty(cCC)
                      :CC = alltrim(cCC)
                endif
                 if !empty(cBcc)
                    :BCC = alltrim(cBCC)
                  endif
                  :MDNRequested = .T.
                  :Subject = cSubject
                :TextBody = cMsg
                 For x := 1 To Len( aAttach )
                       if aAttach[x] <> NIL     
                         :AddAttachment(AllTrim(aAttach[x]))
                       endif
                  Next
                :Send()
           END WITH
           lRet := .t.
       CATCH
           lRet := .f.
         END


Return lRet

//--------------------------------------------------------------------------------------------------------------------------------//


Dónde estan los mensajes (?) me muestra correctamente los parámetros necesarios.

Alguna idea de pòrque este comportamientos.

Luis
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: error con rmail
Posted: Tue May 14, 2013 11:20 PM

Bueno parece que es cuando envias un mail con un adjunto que no esta en la pc desde la que querés enviar el mensaje.

Gracias

Luis

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: error con rmail
Posted: Wed May 15, 2013 01:09 PM

Adjunto, és un anexo?

Muestra como estás haciendo, acá funciona perfecto.

cual és tu correo, para enviar mi rmail para usted?

salu2;

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion