× Linguagem de Programação ADVPL

Perguntas Envio de e-mail

Mais
10 anos 9 meses atrás #20690 por Jafreal
Envio de e-mail foi criado por Jafreal
Bom dia

Srs tenho o seguinte comando

Connect SMTP SERVER _cSerMail ACCOUNT _cDe PASSWORD _cSenha Result _lConectou.

Debuguei o programa e nessa linha o LConectou me traz .t., ou seja, ele confirma que conectou, mas ao tentar autenticar com essa função

lAutOk := MailAuth(_cDe,_cSenha) ele não autentica. O que pode ser?

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #20708 por THALESCOTR
Respondido por THALESCOTR no tópico Envio de e-mail
Boa tarde Aguiar,

tive um problema de autenticação no gmail, solucionei com isso, vê se te ajuda:

lResult := MailAuth(_cMail,_cSenha)
If !lResult
nA := At("@",_cMail)
_Mail2 := If(nA>0,Subs(_cMail,1,nA-1),_cMail)
lResult := MailAuth(Alltrim(_Mail2),_cSenha)
Endif


Att
Thales

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #20711 por Jafreal
Respondido por Jafreal no tópico Envio de e-mail
Cara não funcionou. Grato, mas se alguém tiver alguma outra ideia eu agradeço.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #20715 por henry.charriere
Respondido por henry.charriere no tópico Envio de e-mail
#include "protheus.ch"
#include "rwmake.ch"
#include "ap5mail.ch"

/*
* Progrma: EnvMail Autor: Eduardo Pessoa *
* Descrição: Rotina para envio de emails. *
* Data: 06/12/2007 *
* Parametros: EMail Origem, EMail Destino, *
* Subject, Body, Anexo, .T., Bcc *
*/

User Function ENVMAIL(_pcOrigem,_pcDestino,_pcSubject,_pcBody,_pcArquivo,_plAutomatico,_pcBcc)
// Variaveis da função

Private _nTentativas := 0
Private _cSMTPServer := GetMV("MV_RELSERV")
Private _cAccount := GetMV("MV_RELACNT")
Private _cPassword := GetMV("MV_RELPSW") //"1QwertY7"
Private _lEnviado := .F.
Private _cUsuario := Upper(AllTrim(cUserName))

// Validação dos campos do email

If _pcBcc == NIL
_pcBcc := ""
EndIf

_pcBcc := StrTran(_pcBcc," ","")

If _pcOrigem == NIL
_pcOrigem := GetMV("MV_RELACNT")
EndIf

_pcOrigem := StrTran(_pcOrigem," ","")

If _pcDestino == NIL
_pcDestino := "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo."
EndIf

_pcDestino := StrTran(_pcDestino," ","")

If _pcSubject == NIL
_pcSubject := "Sem Subject (ENVMAIL)"
EndIf

If _pcBody == NIL
_pcBody := "Sem Body (ENVMAIL)"
EndIf

If _pcArquivo == NIL
_pcArquivo := ""
EndIf

For _nAux := 1 To 10
_pcOrigem := StrTran(_pcOrigem," ;","")
_pcOrigem := StrTran(_pcOrigem,"; ","")
Next

If _plAutomatico == NIL
_plAutomatico := .F.
EndIf

// Executa a função, mostrando a tela de envio (.T.) ou não (.F.)

If !_plAutomatico
Processa({||EnviaEmail(_pcOrigem,_pcDestino,_pcSubject,_pcBody,_pcArquivo,_plAutomatico,_pcBcc)},"Enviando Email(s)...")
Else
EnviaEmail(_pcOrigem,_pcDestino,_pcSubject,_pcBody,_pcArquivo,_plAutomatico,_pcBcc)
EndIf

If !_plAutomatico
If !_lEnviado
MsgStop("Atenção: Erro no envio de Email!!!")
EndIf
Else
ConOut("Atenção: Erro no envio de Email!")
Endif

Return _lEnviado

/*
***********************************************
* Progrma: EnviaEmail Autor: Eduardo Pessoa *
* Descrição: Subrotina para envio de email. *
* Data: 06/12/2007 *
* Parametros: EMail Origem, EMail Destino, *
* Subject, Body, Anexo, .T., Bcc *
***********************************************
*/
Static Function EnviaEmail(_pcOrigem,_pcDestino,_pcSubject,_pcBody,_pcArquivo,_plAutomatico,_pcBcc)
// Veriaveis da função

Local _nTentMax := 50 // Tentativas máximas
Local _nSecMax := 30 // Segundos máximos
Local _cTime := (Val(Substr(Time(),1,2))*60*60)+(Val(Substr(Time(),4,2))*60)+Val(Substr(Time(),7,2))
Local _nAuxTime := 0
Local lAutentica := GetMV("MV_RELAUTH")

// O que ocorrer primeiro (segundos ou tentativas), ele para.

_cTime += _nSecMax

If !_plAutomatico
ProcRegua(_nTentMax)
EndIf

// Exibe mensagem no console/Log

ConOut("ENVMAIL=> ***** Envio de Email ***** "+AllTrim("DE:"+_pcOrigem)+"*"+AllTrim("P/:"+_pcDestino)+"*"+AllTrim("S:"+_pcSubject)+"*"+AllTrim("A:"+_pcArquivo))

For _nTentativas := 1 To _nTentMax

If !_plAutomatico
IncProc("Tentativa "+AllTrim(Str(_nTentativas)))
EndIf
ConOut("ENVMAIL=> ***** Tentativa "+AllTrim(Str(_nTentativas))+" ***** "+AllTrim("DE:"+_pcOrigem)+"*"+AllTrim("P/:"+_pcDestino)+"*"+AllTrim("S:"+_pcSubject)+"*"+AllTrim("A:"+_pcArquivo))

CONNECT SMTP SERVER _cSMTPServer ACCOUNT _cAccount PASSWORD _cPassword RESULT _lEnviado


If _lEnviado

// Verifica se o E-mail necessita de Autenticacao
If lAutentica
_lEnviado := MailAuth(_cAccount,_cPassword)
Else
_lEnviado := .T.
Endif


If Empty(_pcBcc)
If Empty(_pcArquivo)
SEND MAIL FROM _pcOrigem TO _pcDestino SUBJECT _pcSubject BODY _pcBody FORMAT TEXT RESULT _lEnviado
Else
SEND MAIL FROM _pcOrigem TO _pcDestino SUBJECT _pcSubject BODY _pcBody ATTACHMENT _pcArquivo FORMAT TEXT RESULT _lEnviado
EndIf
Else
If Empty(_pcArquivo)
SEND MAIL FROM _pcOrigem TO _pcDestino BCC _pcBcc SUBJECT _pcSubject BODY _pcBody FORMAT TEXT RESULT _lEnviado
Else
SEND MAIL FROM _pcOrigem TO _pcDestino BCC _pcBcc SUBJECT _pcSubject BODY _pcBody ATTACHMENT _pcArquivo FORMAT TEXT RESULT _lEnviado
EndIf
EndIf
DISCONNECT SMTP SERVER
EndIf

If _lEnviado .Or. _cTime <= (Val(Substr(Time(),1,2))*60*60)+(Val(Substr(Time(),4,2))*60)+Val(Substr(Time(),7,2))
_nTentativas := _nTentMax
EndIf

Next

ConOut("ENVMAIL=> ***** Resultado de Envio "+IIf(_lEnviado,"T","F")+" / "+AllTrim(Str(_nTentativas))+" ***** "+AllTrim("DE:"+_pcOrigem)+"*"+AllTrim("P/:"+_pcDestino)+"*"+AllTrim("S:"+_pcSubject)+"*"+AllTrim("A:"+_pcArquivo))

Return

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.116 segundos
Joomla templates by a4joomla