Jump to content
Fivewin Brasil

Email via Linha de Comando


informax

Recommended Posts

   Bom dia a Todos. Alguém tem alguma forma de enviar email via Linha de Comando , pois tentei com o Blat.exe e com o SwithMail.exe. O Blat eu já usei há muitos anos atrás e hoje dá erro e o SwithMail diz que ´SwithMail´ não é conhecido como um comando interno.

 

Link to comment
Share on other sites

19 horas atrás, kapiaba disse:

Desculpe amado Mestre, mas eu prefiro o RMAIL.PRG - Bom para kraliyus(). Não tem igual kkkkkkkkkkkkkkkkkk Abraços.

Regards, saludos

Fala João querido,

Sim, eu também prefiro usar via código mesmo... É que via linha de comando é util para alguns outros cenários.

Link to comment
Share on other sites

Em 04/05/2022 at 16:58, kapiaba disse:

Desculpe amado Mestre, mas eu prefiro o RMAIL.PRG - Bom para kraliyus(). Não tem igual kkkkkkkkkkkkkkkkkk Abraços.

Regards, saludos.

    Boa noite Kapiaba. Pode me instrui a baixar o RMAIL.PRG, pois tentei e não consegui.

Link to comment
Share on other sites

   cCmd := oPub:wPathRaiz + 'SwithMail.exe /s '
   cCmd += '/From "'   + cFrom                  + '" '                          // Email do Remetente  _cUserEmail
   cCmd += '/Name "'   + cFrom                  + '" '                          // Nome do Remetente que esta enviando pode se repetir o email acima
   cCmd += '/Pass "'   + cSenhaEnvio            + '" '                          // Senha
   cCmd += '/Server "' + cMailServer            + '" '                          // Smtp
   cCmd += '/P "'      + AllTrim(Str(nPort,4))  + '" '
   IF lSSL
      cCmd += '/Ssl '
   ENDIF
   cCmd += '/To "'     + AllTrim(_cTo)          + '" '
   IF !Empty(_cComCopia)
      cCmd += '/cc "'     + AllTrim(_cComCopia) + '" '
   ENDIF
   IF !Empty(cCopiaoCulta)
      cCmd += '/bcc "'  + cCopiaoCulta          + '" '
   ENDIF
   cCmd += '/Sub "'    + AllTrim(_cSubject)     + '" '
   IF !Empty( cAttach )
      cCmd += '/A "' + AllTrim(cAttach)         + '" '
   ENDIF

*  Assim seria com um Html
*  cCmd += '/b "' + cMensagem   + '" '   //           + '"/html '   // Com ou sem o html caso inclua nao é encaminhado os anexos

   IF File(oPub:wPathSys + "TRACEMAIL.ARQ")

      cCmd += '/l "' + oPub:wPathSys + 'EmailLog.log' + '" '

   ENDIF

   IF !Empty( cArqMens )

      cCmd += '/Btxt "' + cArqMens  + '" '

   ENDIF

   IF File(oPub:wPathSys + "TRACEMAIL.ARQ")

      cArqErros := oPub:wPathRaiz + "EMAIL" + AllTrim(Str(Day(Date()))) + AllTrim(Str(Month(Date()))) + ".LOG"
      IF File( cArqErros )
         FErase( cArqErros )
      ENDIF
      cListErr := MemoRead(cArqErros)
      cListErr += cCmd
      MemoWrit(cArqErros, cListErr)

   ENDIF

*   achaerro( cCmd )
   lRetMail := MyRun( cCmd )

   FErase( cArqMens )

   CursorArrow()

   IF !lRetMail

      MsgStop( "Não foi possível enviar a mensagem para " + AllTrim(_cTo),  "Atenção" )

   ENDIF

Link to comment
Share on other sites

  • 3 months later...

Amiguinhos,

O CDO é tecnologia obsoleta que a Microsoft retirou de algumas versões do Windows. Ela era muito forte nas versões Server, se não funcionar no seu Windows não será falha do programa mas sim falta de suporte do S.O.

SendEmail

sendEmail command line options

Exemplo de uso da Blat.DLL:

Citar

function blatEmail( cbody ,;
               cserver ,;
               cto ,;
               cf ,;
               csubject ,;
               cu ,;
               cpw ,;
               cattach, lHtml, portSMTP, lSendBack )
     lHtml := .t.
     BlatCMD := [ blat.txt] + ;
                [ -to ]       + alltrim(cto) + ;
                [ -server ]   + alltrim(cserver) + ;
                [ -mailfrom ] + alltrim(CL_Email) + ;
                [ -subject "] + alltrim(csubject) + ["] + ;
                [ -r ]        + ;
                [ -replyto ] + alltrim(lower(iif(lSendBack,CL_Email,cu))) + ;
                [ -returnpath ] + alltrim(CL_Email) + ;
                iif(!empty(cu),[ -u ]   + alltrim(lower(cu)),"") + ;
                iif(!empty(cpw),[ -pw ] + alltrim(cpw),"") + ;
                iif(!empty(portSMTP),[ -portSMTP ] + portSMTP, "" ) + ;
                [ -log "email.log" -debug ] + ;
                iif( lHtml, [ -html ], [] )
     if empty( cAttach )
     else
        if ValType( cAttach ) == "A"
           BlatCMD := BlatCMD + [ -attach "] + alltrim(cAttach[ 1 ]) + ["]
           For nEle := 2 To Len( cAttach )
               BlatCMD := BlatCMD + [,"] + alltrim(cAttach[ nEle ]) + ["]
           Next
        else
           BlatCMD := BlatCMD + [ -attach "] + alltrim(cAttach) + ["]
        endif
     endif
     if lHtml
        cBody := FormHtml( cSubject, cBody ) + "Email enviado usando BLAT.DLL"
     endif
     rMemoWrit( "blat.txt", cbody )
     fErase( "email.log" )
     BlatLOG := Send( BlatCMD )
     SysWait(2)
     if file( "email.log" )
        BlatLOG := memoread( "email.log" )
        if "ERROR" $ Upper(BlatLOG)
           MemoEdit( BlatLOG )
           return .f.
        endif
        if "535" $ Upper(BlatLOG)
           MsgStop( "Erro: Authentication Failed" + CRLF + CRLF + "Senha/Login de autenticacao com erro." )
           return .f.
        endif
     endif
     RETURN .T.

DLL32 FUNCTION Send( sBlatString AS STRING ) AS LONG PASCAL ;
      FROM "Send" LIB "Blat.dll"

DLL32 FUNCTION SendB( sBlatString AS STRING ) AS LONG ; // PASCAL ;
      FROM "SendBlat" LIB "Blat.dll"

DLL32 FUNCTION BlatSend( BlatCMD AS STRING ) AS LONG ; // PASCAL;
      FROM "Send" LIB "Blat.dll"

 

Link to comment
Share on other sites

Em 29/08/2022 at 14:32, kapiaba disse:

Como disse o Rochinhasssss, em alguns provedores de Emails(novos), esse efeito colateral, pode ocorrer, más nos que eu citei acima, eu corto um dedo do Rochinhasssss, se não funcionar. Funciona de boas... Más vai que.... kkkkkkkkkkkkkkkkkkkkkkkkkkk

Abs.

 

Regards, saludos.

João, lembra das apostas do Juca Kfura, quando ele apostava! Ele falava "Eu corto um braço se o curintia não ganhar hoje", eu não sei quantos braços ele cortou, as vc tá igual a ele, só  tirou o seu da reta né safado. ahahahaha

apostando braços

Link to comment
Share on other sites

Em 29/08/2022 at 15:56, EDUTEK disse:

uso swithMail.exe sem problemas

kkkkkkkkkkkkkkkkkkkkkkkkkk, Jorge, pimenta no  KU dos outros, é Refresh(). kkkkkkkkk

Edutek, onde eu encontro isso e como é que se usa? Podeis dar um exemplo práctico para nós meros mortais que não temos o seu nível de conhecimento?

Obg. abs.

Regards, saludos.

Link to comment
Share on other sites

14 minutos atrás, rochinha disse:

Amiguinhos,

veja este link a explicação ou procure nas mensagens aqui mesmo, pois creio que postei também.

Baixe deste link.

Rochianhassss,

Sua conexão não é particular

Invasores podem estar tentando roubar suas informações de www.pctoledo.com.br (por exemplo, senhas, mensagens ou cartões de crédito). Saiba mais

NET::ERR_CERT_COMMON_NAME_INVALID
Link to comment
Share on other sites

4 horas atrás, kapiaba disse:

kkkkkkkkkkkkkkkkkkkkkkkkkk, Jorge, pimenta no  KU dos outros, é Refresh(). kkkkkkkkk

Edutek, onde eu encontro isso e como é que se usa? Podeis dar um exemplo práctico para nós meros mortais que não temos o seu nível de conhecimento?

Obg. abs.

Regards, saludos.

Isso tá parecendo aquela piada do português na cadeia, que delatou o outro preso ao carcereiro, dizendo que ele "Estava a fugir aos poucos", pq, todos os dias, ele jogava um pedaço dele pra fora pela janela, só que, ele não sabia que,  o cara era leproso.  ahahahahahaha

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...