enviar e-mail pelo xharbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Laudelino Scarmagnani
Usuário Nível 3
Usuário Nível 3
Mensagens: 303
Registrado em: 07 Fev 2007 10:54

enviar e-mail pelo xharbour

Mensagem por Laudelino Scarmagnani »

Leonardo, boa noite!
Não estou conseguindo envio de email pelo HbSendMail.
IF HB_SENDMAIL("smtp.ig.com.br", 465, "lalau.sistemas@ig.com.br", "lalau.sistemas@ig.com.br", , , "Teste de envio de email", "Teste de envio de email pelo sistema", , "lalau.sistemas@ig.com.br", "senha", "pop.ig.com.br", 3, .F., .T., .T.) = .T.
ALERT("ARQUIVOS ENVIADOS COM ÊXITO.")
ELSE
ALERT("Falha ao enviar o email.")
ENDIF
Mandei também "smtp.ig.com.br" em lugar de pop.ig.com.br. Não teve jeito!
Gera um log:
20160107-19:53:09 :INETCONNECT( smtp.ig.com.br, 465 )
>> 18AF0AC <<
20160107-19:53:09 :INETERRORCODE( 18AF0AC )
>> 0 <<
20160107-19:53:09 :INETSENDALL( 18AF0AC, 34, EHLO lalau.sistemas&at;ig.com.br )
>> 34 <<
20160107-19:53:09 :INETRECVLINE( 18AF0AC, , 512 )
>> NIL <<
20160107-19:53:09 :INETERRORCODE( 18AF0AC )
>> 10054 <<
Testei várias formas. Não sei mais o que fazer.
Laudelino
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

enviar e-mail pelo xharbour

Mensagem por deividdjs »

como posso converter esse codido para xharbour estou tentando compilar e dá erro ...

Código: Selecionar todos

DLL32 FUNCTION MAPILogon( UIParam AS _INT, ;
                          sUser AS STRING, ;
                          Password AS STRING, ;
                          Flags AS _INT, ;
                          Reserved AS _INT, ;
                          Session AS _INT ) AS LONG PASCAL;
   FROM "MAPILogonN" LIB "Mapi32.dll" 

DLL32 FUNCTION MAPISendDocuments( UIParam AS _INT, ;
                          DelimStr AS STRING, ;
                          FilePaths AS STRING, ;
                          FileNames AS STRING, ;
                          Reserved AS _INT ) AS LONG PASCAL;
   FROM "MAPISendDocuments" LIB "Mapi32.dll" 

DLL32 FUNCTION RTF2HTML( source AS STRING, ;
                         destination AS STRING, ;
                         options AS _INT, ;
                         bgcolor AS STRING, ;
                         title AS STRING, ;
                         dpi AS _INT ) AS LONG PASCAL;
   FROM "EXRTF2WEB" LIB "IRun.dll" 

/*
Declare Function MAPILogoN Lib "MAPI.DLL" (ByVal UIParam&, ByVal sUser$, ByVal Password$, ByVal Flags&, ByVal Reserved&, Session&) As Long
Declare Function MAPILogoff Lib "MAPI.DLL" (ByVal Session&, ByVal UIParam&, ByVal Flags&, ByVal Reserved&) As Long
Obrigado
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

enviar e-mail pelo xharbour

Mensagem por Kapiaba »

Laudelino,

https://www.getmailbird.com/setup/pt/ac ... -imap-smtp

E tente com a porta 487 no SMTP. Ou, entre em contato com o IG, se for email grátis, se não me falha a memória, não tem mais esta opção.

abs.

João Santos - São Paulo/SP.
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

enviar e-mail pelo xharbour

Mensagem por clodoaldomonteiro »

O "bom" de usar email, SMTP, POP ou outra coisa lá, é que tá sempre mudando, dando o gás novo, hehe.
Aqui tive muito esses problemas, mas agora só uso um serviço de email na Umbler, outro não funciona, portas não dão mais certo ou outra coisa.
Sei que não ajuda muito o que digo, mas vejo q a "culpa" é dos pacotes de segurança dos servidores de email.
As vezes nem montar o seu próprio serviço não dá certo, pois o seu servidor pode estar uma empresa que a segurança é muito grande e bloqueia determinadas portas.
Não sei que fim vai levar isso...
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

enviar e-mail pelo xharbour

Mensagem por deividdjs »

clodoaldomonteiro escreveu:O "bom" de usar email, SMTP, POP ou outra coisa lá, é que tá sempre mudando, dando o gás novo, hehe.
Aqui tive muito esses problemas, mas agora só uso um serviço de email na Umbler, outro não funciona, portas não dão mais certo ou outra coisa.
Sei que não ajuda muito o que digo, mas vejo q a "culpa" é dos pacotes de segurança dos servidores de email.
As vezes nem montar o seu próprio serviço não dá certo, pois o seu servidor pode estar uma empresa que a segurança é muito grande e bloqueia determinadas portas.
Não sei que fim vai levar isso...
Realmente .. eu tenho servidor de email com autenticação SSL/TLS e nenhum dos programas que eu testei funciona ... dificil !!! :(
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

enviar e-mail pelo xharbour

Mensagem por Itamar M. Lins Jr. »

Olá!
Pois é, nós usamos Harbour e essas "coisas" funcionam com TIP ou CURL.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

enviar e-mail pelo xharbour

Mensagem por Itamar M. Lins Jr. »

Olá!
Precisa entender que existem versões ativadas de SSL 1.0, 1.1, 1.2..., e versões de TLS 1.0, 1.2, 1.3... nos servidores de internet.
E no Harbour ou xHarbour é preciso acompanhar isso.

Por isso ferramentas que não fazem atualizações (pelo menos dessas ferramentas de navegação) é preciso que sejam TROCADAS por outras que façam.
Aqui meu sistema está todo em 64Bits acessando bases de dados PostGres, MariaDb, LetoDb, email pelo Gmail, gráficos usando serviços do google em HTML, PDF tudo rodando 64Bits. GCC 13.1 (Compilador com no mínimo mais 10 anos de vida) Posso usar Linux/Windows diretamente.
Verifico sem intermediários a fonte do Harbour e do GCC(compilador) posso usar inclusive a biblioteca QT muito poderosa, só depende de mim...

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

enviar e-mail pelo xharbour

Mensagem por clodoaldomonteiro »

Bom, uso o MS CDOSys para enviar meus emails e segue o que tenho, ver se ajuda em alguma coisa, minha rotinas q consegui com a ajuda de vcs aqui do Forum.

Código: Selecionar todos

Function Main()
...
...
   If ...
      ...
      PW_EnviaEmail( mPwUser, mPwEmail, mPwNome, mPwPass )
      ...
   Endif
...
...
Return NIL
Função para chamada do email:

Código: Selecionar todos

   /////////////////////////////////////////////////////////////////////////////
Function PW_EnviaEmail( cPwUser, cPwEmail, cPwNome, cPwPass )
   Local mRetorno := .t.

   //mail Simples nao responda
   cTo      := Alltrim(cPwEmail)
   cSubject := 'SCP21H - Recuperação de Senha'
   lConf  	:= .T.
   lSSL  	:= .F.
   aFiles 	:= {} // pode ser uma matriz com vários endereços

   cMsg  	:= 'Simples Informática e Consultoria Ltda'
   cMsg  	+= CRLF + 'SCP21H - Sistema de Contabilidade Pública'+CRLF
   cMsg  	+= CRLF + 'Recuperação de Senha do Usuário:'
   cMsg  	+= CRLF + 'Nome: '     + cPwNome
   cMsg  	+= CRLF + 'Usuário: '  + cPwUser
   cMsg  	+= CRLF + 'Senha: '    + cPwPass
   cMsg  	+= CRLF + 'Email: '    + cPwEmail

   mRetorno := Envia_Email(aFiles, cSubject, cTo, cMsg, mEmailServer, mEmailFrom, mEmailUser, mQwer, mEmailPorta, '', '', lCONF, lSSL)

   Return mRetorno

Função de chamada do CDOSys:

Código: Selecionar todos

////////////////////////////////////////////////////////////////////////////////
//https://pctoledo.org/forum/viewtopic.php?f=4&t=10764&start=30
//https://pctoledo.org/forum/viewtopic.php?f=2&t=16294&start=15
//http://fivewin.com.br/index.php?/topic/26829-erro-ao-enviar-e-mail-via-cdomessage-e-gmail/#comment-278073
//https://www.google.com/settings/security/lesssecureapps
//https://www.usandoaccess.com.br/tutoriais/enviar-email-usando-o-cdosys.asp
////////////////////////////////////////////////////////////////////////////////
#pragma -w0
#pragma -es0

#include "GAS.CH"
**********************************************************************************************************************
FUNCTION Envia_email(aFiles,cSubject,cDest,cMsg,cServerIp,cFrom,cUser,cPass,vPORTSMTP,cCC,cBCC,vEMAIL_CONF,wSSL_EMAIL)
   **********************************************************************************************************************
   Local lRet := .f.
   Local oCfg, oError, oMsg
   Local lAut  := .t.

   TRY
      oCfg := CREATEOBJECT( "CDO.Configuration" )

      WITH OBJECT oCfg:Fields
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver"             ):Value := cServerIp   //server SMTP
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport"         ):Value := vPORTSMTP
         :Item( "http://schemas.microsoft.com/cdo/configuration/sendusing"              ):Value := 2           // Remote SMTP = 2, local = 1
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"       ):Value := 1           //
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl"             ):Value := .f. //wSSL_EMAIL  // .F. Ou .T.
         :Item( "http://schemas.microsoft.com/cdo/configuration/sendusername"           ):Value := AllTrim(cUser)
         :Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword"           ):Value := AllTrim(cPass)
         :Item( "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"  ):Value := 60
         :Update()
      END WITH

      lRet := .t.

   CATCH oError
      MsgError( "Não Foi possível Enviar o e-Mail!"  +HB_OsNewLine()+ ;
       "Error: "     + Transform(oError:GenCode,   nil) + ";" +HB_OsNewLine()+ ;
       "SubC: "      + Transform(oError:SubCode,   nil) + ";" +HB_OsNewLine()+ ;
       "OSCode: "    + Transform(oError:OsCode,    nil) + ";" +HB_OsNewLine()+ ;
       "SubSystem: " + Transform(oError:SubSystem, nil) + ";" +HB_OsNewLine()+ ;
       "Mensaje: "   + oError:Description, "Atenção" )

   END

   If lRet
      TRY
         oMsg := CREATEOBJECT ( "CDO.Message" )
         WITH OBJECT oMsg
            :Configuration = oCfg
            :From    = cUser //cFrom
            :Sender  = cUser
            :To      = cDest
            :Subject = cSubject
            :TextBody = cMsg

            For x := 1 To Len( aFiles )
               :AddAttachment(AllTrim(aFiles[x]))
            Next

            :MDNRequested  := .T.               // Requiere respuesta
            :DSNOptions    := 14                //Return a DSN if delivery succeeds, fails, or is delayed.

            //:Fields( "urn:schemas:mailheader:disposition-notification-to" ):Value   := cFrom //'retorno@simplesinformatica.com.br'
            //:Fields( "urn:schemas:mailheader:return-receipt-to" ):Value             := cFrom //'retorno@simplesinformatica.com.br'
            :Fields( "urn:schemas:httpmail:importance" ):Value                      := '2'
            :Fields:update()

            :Send()
         END WITH

         lRet := .t.

      CATCH oError
         msg := 'Não Foi Possível Enviar a Mensagem: "' + cSubject+'"' + CRLF
         msg += 'Verifique se existe conexão com a Internet.' + CRLF
         msg += "Destinatário.: " + cDest                     + CRLF
         msg += "Error.:     "  + Str( oError:GenCode)        + CRLF
         msg += "SubC.:      "  + Str( oError:SubCode )       + CRLF
         msg += "OSCode.:    "  + Str( oError:OsCode )        + CRLF
         msg += "SubSystem.: "  + oError:SubSystem            + CRLF
         msg += "Mensagem.:  "  + oError:Description          + CRLF
         msg += "Operação.: ["  + oError:Operation + "]"      + CRLF

         mArgs := oError:Args
         msg += "Argumento: " + ValType(mArgs) + '[' +Alltrim(Str(Len(mArgs)))+ ']' + CRLF

         If ValType(mArgs) = 'C'
            msg += "Argumento: [" + mArgs + "]"

         ElseIf ValType(mArgs) = 'A'
            For i=1 To Len(mArgs)
               msg += Str(i, 1)+" [" + mArgs[i] + "]" +CRLF
            Next
         Endif

         MsgAtencao( msg )

         lRet := .f.
      END

   Endif

   oCfg := NIL
   oMsg := NIL
   
   Return lRet
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

enviar e-mail pelo xharbour

Mensagem por deividdjs »

porem o CDOSys não é FREE certo ??
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

enviar e-mail pelo xharbour

Mensagem por clodoaldomonteiro »

Bom dia, Deivid.

Até onde sei, as DLLs CDO vem com o windows a partir da versão 2000, e com meus clientes nunca tive problema, nunca precisei instar um driver se quer, ou atualização de driver, pois o windows por si só faz a tarefa de atualizar seus drivers e manter as devidas compatibilidades.

Mas aí vai de cada um, ter uma perspectiva diferente e usar recursos já embarcados no próprio S.O.

Pra mim, quanto menos eu tiver que soluções de terceiros ou "inventadas", melhor, pois usando recursos do S.O. economiza, por exemplo, se vc mudar versão de Harbour ou xHarbour, pois o que se estaria fazendo, é chamar um recursos do S.O. e isso se faz da mesma forma, inclusive em outras linguagens, variando é claro, na sintax da mesma.

Sem mais, abraços.

PS. Caso queira ver um post da LocaWeb: https://www.locaweb.com.br/ajuda/wiki/t ... -de-sites/
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

enviar e-mail pelo xharbour

Mensagem por lucimauro »

Ola,
Aqui uso tip_MailSend() que funciona com TLS ativo , lembrando sempre que crio a senha de app no gmail ou hotmail para vir a funcionar.
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

enviar e-mail pelo xharbour

Mensagem por deividdjs »

lucimauro escreveu:Ola,
Aqui uso tip_MailSend() que funciona com TLS ativo , lembrando sempre que crio a senha de app no gmail ou hotmail para vir a funcionar.
Funciona em xHarbour ?? poderia me passar o codigo de como você utiliza ??

Obrigado.

Abraço,
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

enviar e-mail pelo xharbour

Mensagem por clodoaldomonteiro »

Deivid,
Já passei meu exemplo mais acima, favor verificar.

Abraços.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

enviar e-mail pelo xharbour

Mensagem por deividdjs »

clodoaldomonteiro escreveu:Deivid,
Já passei meu exemplo mais acima, favor verificar.

Abraços.
quais são as dll q tenho q incluir no sistema para que funcione o envio ?? uso xharbour ...

Obrigado amigo ..
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

enviar e-mail pelo xharbour

Mensagem por clodoaldomonteiro »

quais são as dll q tenho q incluir no sistema para que funcione o envio ?? uso xharbour ...
O CDOSYS já deve estar no Windows, nunca tive que instalar nos meus clientes.
Veja mais aqui: https://support.microsoft.com/pt-br/top ... b9ae031a64
Ou veja mais numa busca na internet, é bem fácil de entender e configurar.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Responder