|
Home → WINDEV 25 → WX - Solução do erro de envio de e-mail pelo Windev/Webdev - Erro do certificado não autorizado |
WX - Solução do erro de envio de e-mail pelo Windev/Webdev - Erro do certificado não autorizado |
Started by BOLLER, Oct., 29 2017 2:18 AM - 3 replies |
| |
| | | |
|
| |
Registered member 3,655 messages Popularité : +175 (223 votes) |
|
Posted on October, 29 2017 - 2:18 AM |
Prezados,
Tivemos essa semana o seguinte erro, parou de enviar emails pelo g-mail e como muitos usam para envio de notas fiscais segue aqui o exemplo de código para ajudar a todos a solucionar esse problema.
A linha mágica que resolveu o problema é essa aqui:
EmailConfigure(emailParameterMode, 1)
A mensagem de erro que estava dando erra essa aqui:
Uma cadeia de certificação foi processada, mas terminou em um certificado raiz que não é confiável para o provedor de confiabilidade.
--
A certification chain was processed, but ended in a root certificate that is not trusted for the reliability provider.
Primeira pessoa que falou do problema para mim e que me ligou foi o sr Amarildo Matos, o mesmo gerou um programa exemplo para eu simular o problema, meu muito obrigado
A segunda pessoa que passou o caminho das pedras foi o meu amigo Luiz Alfredo Menezes, meu muito obrigado em nome da comunidade, onde ele passou esse link:
http://faq.pcsoft.fr/15563-faq-read.awp
Desde o final de agosto, o Google lançou um novo certificado: Google Internet Authority G3. Infelizmente, a API do Windows usada para verificação de certificado não valida este certificado.
A abertura de uma sessão POP3, IMAP ou SMTP para ler ou enviar e-mails pode falhar com o retorno:
A cadeia de certificados foi fornecida por uma autoridade que não é confiável
Para habilitar a validação do certificado, aconselho você a alterar o modo de gerenciamento de e-mails. O comando EMailParamétre () permite alterar esse modo e, portanto, não usar mais a API do Windows que bloqueia esse certificado.
Aqui está o código a ser adicionado antes do início de sessão por EmailStartSession:
// Ativar a implementação entre plataformas EmailConfigure(emailParameterMode, 1)
JUNTOS SOMOS MAIS FORTES, TRABALHANDO EM PLENO SÁBADO E ESQUENTANDO A CABEÇA CONSEGUIMOS RESOLVER.
SEGUE EXEMPLO DE USO
EDT_retorno=""
Message("Enviando Email.....")
EmailSetTimeOut(30) HourGlass() n_email_sessao is boolean EDT_retorno+="Tls:"+COMBO_tls+CR EDT_retorno+="Email:"+EDT_EmailSender+CR EDT_retorno+="Usuario:"+EDT_USUARIO+CR EDT_retorno+="Smpt:"+EDT_SERVIDOR_SMTP+CR EDT_retorno+="Porta:"+EDT_porta+CR EDT_retorno+="Destinatario:"+EDT_destinatario+CR EDT_retorno+="Assunto:"+EDT_ASSUNTO+CR EDT_retorno+="Mensagem:"+EDT_MENSAGEM+CR EDT_retorno+="Email Resposta:"+EDT_emailResposta+CR
EmailConfigure(emailParameterMode, 1) SWITCH COMBO_tls CASE 1 n_email_sessao=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta,False,emailOptionSecuredTLS) CASE 2 n_email_sessao=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta) CASE 3 n_email_sessao=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta,False,optionSSL) CASE 4 n_email_sessao=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta,True,emailOptionSecuredTLS) CASE 5 n_email_sessao=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta,True,optionSSL) CASE 6 n_email_sessao=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta,True) CASE 7 n_email_sessao=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta,False) CASE 8 n_email_sessao=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta,True,emailOptionDefault) CASE 9 n_email_sessao=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta,False,emailOptionDefault) END EmailConfigure(emailParameterMode, 1) s_erro_string is string=""
IF n_email_sessao=True THEN _minha_mensagem is an Email IF EDT_EmailSender <> "" THEN _minha_mensagem..Sender=EDT_EmailSender ELSE _minha_mensagem..Sender = EDT_USUARIO END IF EDT_destinatario<>"" THEN Add(_minha_mensagem..Recipient, EDT_destinatario) END _minha_mensagem..Subject = EDT_ASSUNTO _minha_mensagem..Message = EDT_MENSAGEM sEmailParaRetorno is string = EDT_emailResposta IF sEmailParaRetorno = "" _minha_mensagem..SenderAddress = EDT_EmailSender END IF sEmailParaRetorno <> "" AND EmailCheckAddress(sEmailParaRetorno) = emailAddressValid THEN _minha_mensagem..SenderAddress = sEmailParaRetorno ELSE IF sEmailParaRetorno="" THEN ELSE EDT_retorno+="ERRO NO EMAILPARARETORNO DIFERENTE BRANCO" END END _minha_mensagem..ReturnReceipt = True IF EDT_anexo <> "" AND Length(EDT_anexo) > 3 THEN EmailLoadAttachment(_minha_mensagem,EDT_anexo) END EmailConfigure(emailParameterMode, 1) IF EmailSendMessage(EDT_USUARIO, _minha_mensagem) = False THEN Info(CR+"COMBO_tls["+COMBO_tls+"]"+CR+"EDT_Usuario["+EDT_USUARIO+"]"+CR+"EDT_senha["+EDT_SENHA+"]"+CR+"EDT_servidor_smtp["+EDT_SERVIDOR_SMTP+"]"+CR+"EDT_porta["+EDT_porta+"]"+CR+"ErrorInfo()a=["+ErrorInfo()+"]") s_erro_string="Erro Mandar Mesnagem:"+CR+ErrorInfo() ELSE InfoWithTimeout(300,"Email enviado com sucesso!") END EmailCloseSession(EDT_USUARIO) ELSE Info(CR+"COMBO_tls["+COMBO_tls+"]"+CR+"EDT_Usuario["+EDT_USUARIO+"]"+CR+"EDT_senha["+EDT_SENHA+"]"+CR+"EDT_servidor_smtp["+EDT_SERVIDOR_SMTP+"]"+CR+"EDT_porta["+EDT_porta+"]"+CR+"ErrorInfo()b=["+ErrorInfo()+"]") s_erro_string="Erro Configuracao"+CR+ErrorInfo() END HourGlass(False)
EDT_retorno+="ERRO:"+s_erro_string+CR
fSaveText("\temp\email_status.txt",EDT_retorno)
Espero que consigam mandar agora sem nenhuma mensagem de erro os seus e-mails.
MEU MUITO OBRIGADO A TODOS!
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 535 messages Popularité : +14 (14 votes) |
|
Posted on October, 29 2017 - 12:07 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,655 messages Popularité : +175 (223 votes) |
|
Posted on October, 30 2017 - 12:58 PM |
Bom dia pessoal,
Ou usem o e-mail do Yahoo ou de outro provedor de e-mail.
Tenham um bom dia!
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Posted on March, 13 2018 - 4:09 AM |
¿And WebDev and WinDev Mobile? |
| |
| |
| | | |
|
| | | | |
| | |
|