Clipper On Line • Ver Tópico - JPG2Email - Capture sua tela e envie para o seu email

JPG2Email - Capture sua tela e envie para o seu email

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor rochinha » 26 Abr 2018 00:09

Amiguinhos,

Abri este tópico para não poluir outros que estão sendo discutidos sobre o assunto.

Primeiro baixem o código em 4Shared

O Mesmo foi feito em Fivewin, mas vocês poderão adaptar com facilidade.

Para testar o executável basta configurar o jpg2email.ini onde:
[JPG2EMAIL]
cTO=coloque o email que ira receber a imagem
cSMTPServer=coloque a URL SMTP do seu provedor de email
CL_Email=coloque um email ficticio tipo trump@kin.jon.hun
cUser=coloque o email da conta do seu provedor de email
cPW=coloque a senha da conta do seu provedor de email
portSMTP=587 troque a pora segura da sua conta ou deixe esta


O arquivo .ZIP possui 4 arquivos:
JPG2EMAIL.EXE
BLAT.DLL
JPG.DLL
JPG2EMAIL.PRG


Caso falte algum, foi o seu antivírus que deletou.

Código:
#include "fivewin.ch"
#include "dll.ch"

FUNCTION MAIN()

   // Pega resolução da tela
   ResLargura := GetSysMetrics(0)   
   ResAltura  := GetSysMetrics(1)

   // Formata variaveis para envio de email
   
   cTo        := VerifyINI( "JPG2EMAIL", "cTO"        , "oSeuEmail@provedor.com.br", ".\jpg2email.ini", .f. )
   cSMTPServer:= VerifyINI( "JPG2EMAIL", "cSMTPServer", "provedor.com.br"          , ".\jpg2email.ini", .f. )
   CL_Email   := VerifyINI( "JPG2EMAIL", "CL_Email"   , "teste@provedor.com"       , ".\jpg2email.ini", .f. )
   cSubject   := "**** captura de imagem ****"
   cBody      := "Imagem capturada usando a JPG.DLL e suas funções e depois a imagem foi enviada usando a BLAT.DLL."
   cUser      := VerifyINI( "JPG2EMAIL", "cUser"      , "usuario@provedor.com.br"  , ".\jpg2email.ini", .f. )
   cPW        := VerifyINI( "JPG2EMAIL", "cPW"        , "Minha@Senha"              , ".\jpg2email.ini", .f. )
   portSMTP   := VerifyINI( "JPG2EMAIL", "portSMTP"   , "587"                      , ".\jpg2email.ini", .f. ) // Autenticacao Segura
   lHtml      := .t.   // Formatar a mensagem como HTML
   
   // Cria nome temporario
   cAttach    := "spyimg_"+CharRem(":",time())+".jpg"

   MsgRun( "Capturando imagem da area de trabalho...", "Captura", { | oWnd | ;
           SaveToJpg( 0, cAttach, ResLargura, ResAltura ) ;
           } )

   if !file( cAttach )
      MsgStop( "Imagem de captura nao foi gerada.", "Operacao Abortada" )
      return nil
   endif

   // Envia email da imagem capturada
   MsgRun( "Enviando imagem capturada por email...", "Email", { | oWnd | ;
           BlatEmail() ;
           } )

RETURN NIL
           
Function BlatEmail()
   // Monta comando padrao
   BlatCMD := [ blat.txt] + ;
              [ -to ]       + alltrim(cTo) + ;
              [ -server ]   + alltrim(cSMTPServer) + ;
              [ -mailfrom ] + alltrim(CL_Email) + ;
              [ -subject "] + alltrim(cSubject) + ["] + ;
              [ -r ]        + ;
              [ -replyto ] + alltrim(CL_Email) + ;
              [ -returnpath ] + alltrim(CL_Email) + ;
              iif(!empty(cUser),[ -u ] + alltrim(lower(cUser)),"") + ;
              iif(!empty(cPW),[ -pw ] + alltrim(cPW),"") + ;
              iif(!empty(portSMTP),[ -portSMTP ] + portSMTP, "" ) + ;
              [ -log "email.log" -debug ] + ;
              iif( lHtml, [ -html ], [] )
   // Atacha a imagem
   BlatCMD := BlatCMD + [ -attach "] + alltrim(cAttach) + ["]

   if lHtml
      cBody := FormHtml( cSubject, cBody ) + "Email enviado usando BLAT.DLL"
   endif
   rMemoWrit( "blat.txt", cbody )
   fErase( "email.log" )

   // Produz o envio da mensagem com a imagem
   BlatLOG := Send( BlatCMD )

   // Mostra o LOG da mensagem
   SysWait(2)
   if file( "email.log" )
      BlatLOG := memoread( "email.log" )
      MemoEdit( BlatLOG )
   endif
RETURN Nil

DLL32 FUNCTION SaveToJpg( hWnd AS LONG, cFileName AS STRING, nWidth AS LONG, nHeight AS LONG ) AS LONG PASCAL ;
      FROM "SaveToJpgEx" LIB "JPG.DLL"
DLL32 FUNCTION BmpToJpg( BmpFile AS STRING, JpgFile AS STRING ) AS LONG PASCAL ;
      FROM "BmpToJpg" LIB "JPG.DLL"

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"

Function rMemoWrit( _aquivo_, _conteudo_ )
   nHandle := fCreate( _aquivo_ )
   fWrite( nHandle, _conteudo_, LEN( _conteudo_ ) )
   fClose( nHandle )
   return .t.
   
Function FormHtml( cSubject, cBody )
   Local cOpen  := [<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd'>] + CRLF
         cClose := CRLF + [CONTRA SPAM] + CRLF + ;
                          [Somos rigorosamente contra o envio de SPAM e e-mails não autorizados. Se você está recebendo esta comunicação, é porque nossa empresa envia email somente para pessoas e empresas cadastradas em nosso sistema. Caso tenha duvidas favor entrar em contato com nossa central de atendimento ao cliente.] + CRLF + ;
                          [POLÍTICA DE PRIVACIDADE] + CRLF + ;
                          [Caso queira saber mais informações sobre nossa política de privacidade consulte o regulamento por meio do site ou, em caso de dúvidas, entre em contato através do nosso formulário. De acordo com as práticas de órgãos regulamentadores da política da Internet, nós mantemos o compromisso de proteger toda e qualquer informação. Também não vendemos ou distribuímos seu cadastro a terceiros, em respeito ao consumidor. Esperamos que aproveite nosso informativo.] + CRLF + ;
                          [ATITUDE SUSTENTÁVEL] + CRLF + ;
                          [Não imprima este e-mail, pense na sua atitude com o meio ambiente. Se achar conveniente repassar o e-mail a alguém, encaminhe o mesmo através de sua ferramenta de e-mail.]
   cHTML := ;
      [<html>]  + CRLF + ;
      [<head>]  + CRLF + ;
      [   <meta http-equiv='Content-Type'] + CRLF + ;
      [         content='text/html; charset=iso-8859-1'>] + CRLF + ;
      [</head>] + CRLF + ;
      [<body>]  + CRLF + ;
      [<pre>]   + CRLF + ;
       cBody    + CRLF + ;
      [</pre>]  + CRLF + ;
      [</body>] + CRLF + ;
      [</html>]
   Return cOpen + cHTML + cClose

Function VerifyINI( _section_, _entry_, _var_, _inifile_, _grava_ )
   oIni := TIni():New( _inifile_ )
   if _grava_ = .t.
      oIni:Set( _section_, _entry_, iif( ValType( _var_ )="C", alltrim( _var_ ), _var_ ) )
   endif
   return oIni:Get( _section_, _entry_, _var_, _var_ )
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor rochinha » 26 Abr 2018 00:44

Amiguinhos,

Uma pequena alteração deve ser feita.
Function BlatEmail()
...
// Monta comando padrao
BlatCMD := [ blat.txt] + ;
              [ -to ]       + alltrim(cTo) + ;
              [ -server ]   + alltrim(cSMTPServer) + ;
              [ -mailfrom ] + alltrim(CL_Email) + ;
...


Onde está alltrim(CL_Email) alterem para alltrim(cUser)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor rochinha » 26 Abr 2018 22:22

Amiguinhos,

hazael
A Classe usada faz parte da Fivewin e nunca estei seu uso solo. Mas você pode usar qualquer outro recurso do Harbour que trabalhe com .INI

A minha necessidade em usá-la foi somente para gerar um executável parametrizável para disponibilizar, senão ele ficaria com meus dados fixos enviando para mim as imagens dos testers.

Voce pode suprimir esta característica assim:
cTo        := VerifyINI( "JPG2EMAIL", "cTO", "oSeuEmail@provedor.com.br", ".\jpg2email.ini", .f. )


Para:
cTo        := "hazael.programador@gmail.com" // VerifyINI( "JPG2EMAIL", "cTO", "oSeuEmail@provedor.com.br", ".\jpg2email.ini", .f. )


O Harbour possui algumas funções nativas como HB_ReadIni() e HB_WriteIni()

Pelo que pesquisei, você mesmo indagou no group.google/.../harbour-users acerca deste recurso. E então ainda não obteve retorno?

TINI.prg:
#include "FiveWin.ch"
#include "DLL.ch"

//----------------------------------------------------------------------------//
CLASS TIni
   DATA   cIniFile, lAutoSet
   METHOD New( cIniFile ) CONSTRUCTOR
   METHOD Get( cSection, cEntry, uDefault, uVar )
   METHOD Set( cSection, cEntry, uValue )
   METHOD Sections()
   METHOD DelSection( cSection ) INLINE DelIniSection( cSection, ::cIniFile )
   METHOD DelEntry( cSection, cEntry ) INLINE ;
                       DelIniEntry( cSection, cEntry, ::cIniFile )
ENDCLASS

//----------------------------------------------------------------------------//
METHOD New( cIniFile ) CLASS TIni
   DEFAULT cIniFile := ""
   if ! Empty( cIniFile ) .and. At( ".", cIniFile ) == 0
      cIniFile += ".ini"
   endif
   ::cIniFile = cIniFile
   ::lAutoSet = .t.
return Self

//----------------------------------------------------------------------------//
METHOD Get( cSection, cEntry, uDefault, uVar ) CLASS TIni
   local cType := ValType( If( uDefault != nil, uDefault, uVar ) )
   if Empty( ::cIniFile )
      if cType == "N"
         uVar = GetProfInt( cSection, cEntry, uDefault )
      else
         uVar = GetProfString( cSection, cEntry, cValToChar( uDefault ) )
      endif
   else
      if cType == "N"
         uVar = GetPvProfInt( cSection, cEntry, uDefault, ::cIniFile )
      else
         uVar = GetPvProfString( cSection, cEntry, cValToChar( uDefault ),;
                                 ::cIniFile )
      endif
   endif
   do case
      case cType == "D"
           uVar = CToD( uVar )
      case cType == "L"
           uVar = ( Upper( uVar ) == ".T." )
   endcase
   if uVar == uDefault .and. ::lAutoSet
      ::Set( cSection, cEntry, uDefault)
   endif
return uVar

//----------------------------------------------------------------------------//
METHOD Set( cSection, cEntry, uValue ) CLASS TIni
   if Empty( ::cIniFile )
      WriteProfString( cSection, cEntry, cValToChar( uValue ) )
   else
      WritePProString( cSection, cEntry, cValToChar( uValue ), ::cIniFile )
   endif
return nil

//----------------------------------------------------------------------------//
METHOD Sections() CLASS TIni
   local cBuffer := Space( 4096 ), p, aSec:={}
   // cBuffer := Left( cBuffer, GetPvPrfSe( @cBuffer, 4095, ::cIniFile ) )
   p = GetPvPrfSe( @cBuffer, 4095, ::cIniFile )
   cBuffer = Left( cBuffer, p )
   while ( p := At( Chr( 0 ), cBuffer ) ) > 1
      AAdd( aSec, Left( cBuffer, p - 1 ) )
      cBuffer = SubStr( cBuffer, p + 1 )
   enddo
return aSec

//----------------------------------------------------------------------------//
DLL32 FUNCTION GetPvPrfSe(cBuffer AS LPSTR, nSize AS DWORD, cIni AS LPSTR) AS DWORD PASCAL ;
               FROM "GetPrivateProfileSectionNamesA" LIB "Kernel32.dll"


Voce terá de adaptar o código acima de forma que ele não requeira mais o Fivewin para ler os seus .INI.

Na verdade você não precisa dela mas sim saber como funcionam as funções GetProfString() e WritePProString()

No site OUSOB você encontra exemplos de uso como:

GetProfString()
Example:
// Suppose WIN.INI contains:
//        [ClipApp]
//        level=expert
? GetProfString( "ClipApp", "level", "novice" )   // result: expert


WritePProString()
Example
// Suppose WIN.INI contains:
//        [ClipApp]
//        level=expert
? GetProfString( "ClipApp", "level", "novice" )   // result: expert
WriteProfString( "ClipApp", "level", "novice" )
? GetProfString( "ClipApp", "level", "" )         // result: novice


Pouca coisa, hoje eu tô meio preguicoso, mas acho que já ajuda.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor rochinha » 27 Abr 2018 13:49

Amiguinhos,

hazael
Este problema com Harbour e antivírus é recorrente, mas é só configurar o antivírus para liberar o processo.

Quando ao BLAT.DLL eu baixei direto do sourceforge, onde lá acusa que todos os softwares são livres de vírus pelo Bit Defender.

Eu cheguei a formatar uma máquina, instalar Windows novinho, não conectar na internet para atualizar, instalar o Harbour novinho e configurar, compilar um pequeno exemplo e jogar o executável em outra maquina com antivírus. Acusava vírus.

Já mandei mensagem para vários suport-centers para eles retornarem qual o problema e qual trecho de código eles capturar o eventual problema. Mas até hoje nada.

Em todo o caso, você tem o código, compile com seu Harbour, baixe a BLAT.DLL do sourceforge e verifique se o seu antivírus grita.

Funcionou mas tive que desabilitar o MalwareBytes Premium para conseguir usar o BLAT.

O que você quis dizer com isto? que o aplicativo rodou? ou que houve a captura e o envio?
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor asimoes » 27 Abr 2018 20:58

hazael escreveu:Isso mostra que o hb_sendmail() ou tip_mailsend() do harbour tem algum problema...


Olha eu não tenho esse problema não, uso o gmail harbour 3.4 e funciona sem problemas, acontece que alguns provedores de email exigem autenticação ssl que é o caso do gmail, aquele exemplo que eu postei, tem a lib compilada pelo Viktor e é a que eu estou usando a mais de 4 meses.

Enfim, outras soluções são bem vindas quem sabe...
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor rochinha » 28 Abr 2018 03:27

Amiguinhos,

hazael
Ótimo, e como você viu não teve de usar aplicativo externo. Se bem que DLL são aplicativos externos, mas são integrados.

asimoes
Eu já não consigo remeter via gmail por modo algum. É a velha história, time que tá ganhando não se muda. Ainda bem que temos várias possibilidades para envio de email. Imagine se só existisse uma e ela desse pau.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor asimoes » 29 Abr 2018 11:21

Só a título de informação, a porta que eu uso para o GMAIL é a 465 e tem funcionado sem problemas.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor rochinha » 30 Abr 2018 13:46

Amiguihos,

Sobre captura de tela e envio de email pelo Harbour, eu tenho outra pegunta, um pouco mais complexa: Como fazer o mesmo no Linux?

No Linux, apesar do seu poder GUI, muitos dos comandos executados por aplicativos são mascarados para acionar o Shell.

Se não me engano o Linux tem um comando de Shell chamado import que pode capturar a tela.

Quanto ao envio de emails eu uso no Windows um aplicativo de procedencia Linux, sendmail, mas tem também o comando send e pásmem, o comando echo.

Tudo em linha de comando.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor JoséQuintas » 01 Mai 2018 17:17

hazael escreveu:Isso mostra que o hb_sendmail() ou tip_mailsend() do harbour tem algum problema...


Uso há anos pra enviar TODOS os emails de NFE, CTE, MDFE.
Não uso GMAIL pra não ter que adicionar componentes opcionais.

No começo até usei Harbour 3.2, com uma modificação minha, mas com Harbour 3.4 não precisou mais da alteração.
De lá pra cá muita coisa mudou no 3.2, deve estar ok hoje em dia.

Harbour 3.4 com mingw 7.3
Já usei com MSVC 2010 também, mas deixei de usar há muito tempo, pra não precisar instalar run-time de MSVC.

Só fontes originais do Harbour 3.4, e algumas alterações na GTWVG.
Nenhuma DLL ou componente opcional, exceto o compilador C.
Mas... em run-time RMChart.dll, msxml5.dll e capicom.dll, pra gráficos e nota fiscal eletrônica.
***Por não usar nada opcional, GMAIL não funciona, mas não faz falta.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor asimoes » 01 Mai 2018 19:27

Aproveitando esse tópico, tem algum exemplo funcionando o blat com gmail ? estou tomando uma surra aqui:
Estou usando a dll que eu baixei do sourceforge de 18/11/2017
2018.05.01 19:21:36 (Tue)------------Start of Session-----------------
Blat v3.2.19 (build : Nov 18 2017 03:14:40)
32-bit Windows, Full, Unicode
<<<getline<<< 220 smtp.gmail.com ESMTP u22-v6sm10506264qte.36 - gsmtp
>>>putline>>> EHLO wks-2
<<<getline<<< 250-smtp.gmail.com at your service, [177.192.251.2]
<<<getline<<< 250-SIZE 35882577
<<<getline<<< 250-8BITMIME
<<<getline<<< 250-STARTTLS
<<<getline<<< 250-ENHANCEDSTATUSCODES
<<<getline<<< 250-PIPELINING
<<<getline<<< 250-CHUNKING
<<<getline<<< 250 SMTPUTF8
Sending blat.txt to asimoesluz@gmail.com
Subject: teste
Login name is xhbsistemas@gmail.com
>>>putline>>> AUTH LOGIN
<<<getline<<< 530 5.7.0 Must issue a STARTTLS command first. u22-v6sm10506264qte.36 - gsmtp
*** Warning ***  The SMTP server does not require AUTH LOGIN.
*** Warning ***  Are you sure server supports AUTH?
>>>putline>>> MAIL FROM:<xhbsistemas@gmail.com>
<<<getline<<< 530 5.7.0 Must issue a STARTTLS command first. u22-v6sm10506264qte.36 - gsmtp
*** Error ***  The SMTP server does not like the sender name.
*** Error ***  Have you set your mail address correctly?
>>>putline>>> QUIT
<<<getline<<< 221 2.0.0 closing connection u22-v6sm10506264qte.36 - gsmtp
2018.05.01 19:21:39 (Tue)-------------End of Session------------------
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor JoséQuintas » 01 Mai 2018 21:59

Sinceramente, nunca vi blat funcionar com gmail.
A não ser que tenham lançado alguma versão mais nova com isso.

Mas parece que não.
http://www.blat.net/
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor JoséQuintas » 02 Mai 2018 07:14

https://blog.frogslayer.com/sending-an-email-through-google-smtp-via-windows-command-line/

This is what I received after my attempt to use Blat from the command prompt. After some more research I found that because I was trying to connect to Google’s SMTP server, Google requires that the connection be made via SSL tunnel.


Stunnel acts as a means to create an SSL tunnel between two machines. You can download stunnel here. I downloaded the executable offering “stunnel-4.56-installer.exe”.


Para o Blat enviar email através do google, uma opção é instalar o programa stunnel pra funcionar como intermediário pra conexão SSL.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor asimoes » 02 Mai 2018 08:58

Por isso que eu não vou complicar mais (blat), continuarei usando tip_MailSend, funciona com GMAIL SSL na porta 465 sem problemas.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor asimoes » 02 Mai 2018 10:40

Achei esse utilitário SendEmail

http://caspian.dotconf.net/menu/Software/SendEmail/

Ainda não testei
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

JPG2Email - Capture sua tela e envie para o seu email

Mensagempor rochinha » 02 Mai 2018 12:33

Amgiunhos,

Eu também estive testando/tentando usar o Blat para envio por GMail mas não vai mesmo. Se olharmos o log veremos que TLS foi ativado mas logo depois diz que temos de iniciá-lo. Loucura, loucura...

Mas uso o mesmo com o servidor do meu site.

asimoes
Este SendEmail não oferece suporte para autenticação, etc. Parece ser muuuuuuuuuuuito antigo. Ele funciona com GMail?
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 14 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro