SENDMAIL não funciona com Gmail.

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

Moderador: Moderadores

Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

SENDMAIL não funciona com Gmail.

Mensagem por Poka »

Olá a todos
não funciona com Gmail
alguém poderia dar uma ajuda.



Código: Selecionar todos

ANNOUNCE RDDSYS 
#INCLUDE "MINIGUI.CH" 
#INCLUDE "FILEIO.CH" 
*------------------------------------
FUNC SENDMAIL
			// RETORNA _ERRO
			// SE VAZIO, TUDO OK
			// SE NAO VAZIO DEU ERRO
			LOCAL X,A
   LOCAL OSOCKET, CSMTP, CFROM, CTO, CSUBJECT, CMSGBODY, AATTACHMENT
   LOCAL  CUSERID, CPASSWORD, LHTML, CUSER := ""  ,_ERRO:="" 
   
			PARA;            //  EXEMPLOS
			XCSMTP,;          // "ITELEFONICA.COM.BR"
   XCFROM,	;         // "<RCSISTEMA1@ITELEFONICA.COM.BR>"
   XCTO	 , ;         // "<RCPOCA@YAHOO.COM.BR>"
   XCSUBJECT,	;      // "TESTE DE ENVIO DE EMAIL"     // TITULO DO EMAL
   XAATTACHMENT, ;   // "C:\GELICHB\TESTE.XML"
   XCMSGBODY	, ;     // "SEGUE ARQUIVO XML"       // TEXTO DO CORPO DO EMAIL
   XCUSERID	 , ;     // "RCSISTEMA1@ITELEFONICA.COM.BR"
   XCPASSWORD ,;     // "HELENINHA"
   XNPORT     ,;     // 25
   XNPRIORITY      // 3      PRIORIDADE NORMAL
			IF LEN( ALLTRIM (XCTO) ) <=2
						_ERRO+="- Email não preenchido"
						RETU (_ERRO)
			ENDIF
   msg(1,"enviando email para " + fl+xcto)

   *-----------------------------------------------------------------------------*
   CSMTP	        :=  XCSMTP
   CFROM	        :=  ALLTRIM(XCFROM)
   CTO	          := ALLTRIM(XCTO) 
   CSUBJECT	     := XCSUBJECT
   AATTACHMENT   :=  XAATTACHMENT
   CMSGBODY	     := XCMSGBODY
   CUSERID	      := XCUSERID
   CPASSWORD     := XCPASSWORD
   NPORT         :=   XNPORT
   NPRIORITY     := XNPRIORITY
   
   IF  ! "@"  $ CTO
						_ERRO+="-Email inválido"+FL
      RETU (_ERRO)
   ENDIF
   FOR A:= 2 TO LEN( CTO) -1  // NAO CONSIDERA <>
      X:= ASC(SUBSTR(CTO,A,1))
      IF X = 46;
									.OR. X=64 ;
						   .OR. X>=48 .AND. X<=57 ;
						   .OR. X=95 ;
						   .OR. X>=97 .AND. X<=122
						   // VALIDO
						ELSE
   						_ERRO+="-Email inválido"+FL + CTO+FL+ "caracter: "+ SUBSTR(CTO,A,1)
         RETU (_ERRO)
						ENDIF
   NEXT
			//
   OSOCKET := TSMTP():NEW()
   OSOCKET:CLEARDATA()
   OSOCKET:SETPRIORITY( NPRIORITY )
   OSOCKET:SETFROM( CUSERID,CFROM)
   OSOCKET:ADDTO( CUSERID, CTO )
   OSOCKET:SETSUBJECT( CSUBJECT )
   OSOCKET:ADDATTACH( AATTACHMENT)
   OSOCKET:SETDATA( CMSGBODY, LHTML )
   OSOCKET:LOGIN( CUSERID, CPASSWORD )


   IF ! OSOCKET:SEND(.T.)
      //MSGSTOP( OSOCKET:GETLASTERROR(), "WHILE TRYING TO SEND DATA GOT AN ERROR MESSAGES FROM SERVER" )
      _ERRO+="- Email não enviado"
   ENDIF
   
   //OSOCKET:CLOSE()

RETU (_ERRO)
*----------------------------
FUNC CONECTA
			LOCAL _ERRO:=""
			PARA CSMTP,NPORT
   MSG(1,"Conectando servidor de email")
   OSOCKET := TSMTP():NEW()
   IF ! OSOCKET:CONNECT( CSMTP, NPORT )
      _ERRO:= "- Falha na conexão"
   ENDIF
   MSG(0)
RETU _ERRO
*-------------------
FUNC DESCONECTA
   OSOCKET := TSMTP():NEW()
   OSOCKET:CLOSE()
RETU NIL
*------------FIM ----------------------


Poka
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

TSMTP minigui não funciona com gmail

Mensagem por JoséQuintas »

Tópico errado, isso não é do Harbour, e não é sendmail do Harbour.
Isso é a classe TSMTP da minigui.
À primeira vista, não tem opção pra gmail.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

SENDMAIL não funciona com Gmail.

Mensagem por Kapiaba »

Tente assim:

Código: Selecionar todos

function Main()

   LOCAL oMsg  := CreateObject( "CDO.Message" )
   LOCAL oConf := CreateObject( "CDO.Configuration" )
   LOCAL cSchema := "http://schemas.microsoft.com/cdo/configuration/"
   
   oConf:Fields[ cSchema + "sendusing" ] = 2
   oConf:Fields[ cSchema + "smtpserver" ] = "smtp.gmail.com"
   oConf:Fields[ cSchema + "smtpserverport" ] = 465
   oConf:Fields[ cSchema + "smtpauthenticate" ] = 1
   oConf:Fields[ cSchema + "sendusername" ] = "kapiabafwh@gmail.com"
   oConf:Fields[ cSchema + "sendpassword" ] = "suasenha" //"yourpassword"
   oConf:Fields[ cSchema + "smtpusessl" ] = 1
   oConf:Fields:Update()
   
   oMsg:To = "kapiabafwh@gmail.com"
   oMsg:From ="Joao <kapiabafwh@gmail.com>"
   oMsg:Subject = "Test send with gmail account"
   oMsg:HTMLBody = "it works"
   oMsg:Sender = "Joao"
   oMsg:Organization = "FiveTech"
   oMsg:ReplyTo = "kapiabafwh@gmail.com"
   oMsg:Configuration = oConf
   
   oMsg:Send()

   MsgInfo( "Feito" )
   
return nil
abs.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

SENDMAIL não funciona com Gmail.

Mensagem por Kapiaba »

gmail.png
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

SENDMAIL não funciona com Gmail.

Mensagem por Kapiaba »

Opa, esqueci:
gmail2.png
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

SENDMAIL não funciona com Gmail.

Mensagem por Kapiaba »

gmail3.png
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

SENDMAIL não funciona com Gmail.

Mensagem por Kapiaba »

Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

SENDMAIL não funciona com Gmail.

Mensagem por Kapiaba »

Desligando a segurança do gmail:

https://myaccount.google.com/lesssecureapps?pli=1

Abs
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

SENDMAIL não funciona com Gmail.

Mensagem por Poka »

Olá

Quintas, com certeza peguei essa rotina praticamente pronta, funciona à tempos, mas com gmail não. Se há uma coisa que não gosto em programação é quando mexe com essas partes que sai do trivial de programação, impressoras fiscais, enfim essas coisas. Como trabalho sozinho pra mim é um parto. Tenho um amigo, ele não é programador mas me ajuda nessas partes. Não ligo de ficar uma semana em meia dúzia de linhas em programação com custos , contas a pagar , a receber, isso eu gosto, mas essas outras coisas aí pra mim é um sofrimento.

Kapiaba, obrigado por responder, mas infelizmente não consegui fazer funcionar, dá o seguinte erro.

Error cdo_message/- 2147352573
Disp_e_membernotfound:send
Called from toleauto:send(0)

Tem solução?
Obrigado.

Poka
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

SENDMAIL não funciona com Gmail.

Mensagem por Daniel »

Ola
voce usa minigui
tenta assim

Código: Selecionar todos

LOCAL oMsg  := win_oleCreateObject( "CDO.Message" )
LOCAL oConf := win_oleCreateObject( "CDO.Configuration" )
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

SENDMAIL não funciona com Gmail.

Mensagem por JoséQuintas »

Eu uso uma solução simples pra isso:
Meu aplicativo tem email próprio, não preciso usar o email do cliente.
Se o do cliente não funciona, uso o do aplicativo e pronto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

SENDMAIL não funciona com Gmail.

Mensagem por rubens »

Poka...

Eu uso exclusivamente o Gmail.
Envio NFE, Orcamento, Erros do Sistema e os XMLs do cliente quando vira o mes...

Dá uma olhada nessa rotina... mas ela tá prontinha.... com excessão do campos próprios do meu sistema..
Email_Pctoledo.prg
(17.01 KiB) Baixado 184 vezes
é só seguir a função envia_orcamento() que você vai conseguir enviar email com arquivo anexado, facinho, facinho...

Tem que fazer o procedimento no gmail do cliente que o kapiaba passou... desligar a segurança.
O Bom seria o que o Quintas faz... mas tem cliente que quer que o email dele envia... Eu sempre crio um gmail para o cliente, somente para o envio de nota...

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

SENDMAIL não funciona com Gmail.

Mensagem por JoséQuintas »

Esqueceu de mencionar:
SSL depende da lib disso, que não é gerada usando somente os fontes do Harbour, precisa componentes a mais a serem baixados.

Exemplo pra vários tipos de mail tem no Harbour, inclusive gmail:

https://github.com/vszakats/harbour-cor ... /email.prg
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

SENDMAIL não funciona com Gmail.

Mensagem por JoséQuintas »

E achei interessante o esquema atual.
Tá na hora de atualizar minha classe de e-mails.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

SENDMAIL não funciona com Gmail.

Mensagem por Poka »

Olá

Agradeço ao Quintas, , Kapiaba , Daniel e Rubens por responder.
Acabei pegando a rotina do Rubens, tirei algumas partes para se adequar ao meu sistema e funcionou perfeitamente. Obrigado Rubens por compartilhar.

Poka
Responder