- 13.4. Utilidadades
13.4.2. Envia e-mail2 [07/10/24] - 13.4.1. Cria a chave de Acesso da NF-e 2G
« Anterior - 13.4.3. Identar XML
Próximo »
13.4.2. Envia e-mail2 [07/10/24]
Envio de e-mail
Assinatura:
int EnvEmail2(string emailRemetente, string nomeRemetente, string emailDestinatario, string emailBcc, string assunto, string mensagem, string arquivos, string smtpCliente, string smtpPorta, string smtpSSL, string smtpUsuario, string smtpSenha, string HTML, string confirmacao, out string msgResultado, string timeout);
Possibilidade de informar o timeOut [28/09/13]
Alteração para informar o tempo de Timeout, o valor deve ser informado em ms, onde 1000ms corresponde a 1s, valor padrão anterior 180000ms (3 minutos)
Descrição:
Funcionalidade para enviar e-mail com possibilidade BCC e anexo
Parâmetros:
nome | tipo | fluxo | descrição |
---|---|---|---|
emailRemetente | string | entrada | informar o e-mail do remetente, a finalidade desta informação é apenas para constar como remetente na mensagem de e-mail. |
nomeRemetente | string | entrada | informar o nome do remente que irá constar no e-mail. |
emailDestinatario | string | entrada | informar os e-mail dos destinatários separados por (;) ponto-e-vírgula ou (,) vírgula. |
emailBCC | string | entrada | informar o e-mail de BCC - blind carbon copy, é a lista de e-mail para qual serão enviados uma cópia oculta da mensagem. O uso deste recurso é interessante para gerar uma cópia de seguranças das NF-e emitidas sem qualquer custo. Basta criar uma conta em algum serviço de e-mail que permite a manutenção das mensagens por tempo indeterminado como é o caso do gmail. se os e-mail forem "baixados" em outro micro, teremos 2 cópias de segurança de todas as mensagens enviadas. |
assunto | string | entrada | informar o assunto do e-mail. |
mensagem | string | entrada | informar a mensagem do e-mail |
arquivos | string | entrada | informar a lista de arquivos que serão enviados como anexo, a lista deverá ter o caminho completo do arquivo separados por (;) ponto-e-vírgula ou (,) vírgula. |
smtpCliente | string | entrada | informar o smtpCliente que será utilizado para envio do e-mail, ex.: smtp.flexdocs.com.br, o smtpCliente do hotmail é smtp.live.com |
smtpPorta | string | entrada | informar a porta utilizada pelo smtp, ex.:587 |
smtpSSL | string | entrada | informar o uso de SSL: "0" - nenhum, "1" - SSL e "2" - TLS (opção "2" - TLS - requer versão 4.16 ou sperior) |
smtpUsuario | string | entrada | informar o nome do usuário da conta de e-mail |
smtpSenha | string | entrada | informar a senha do conta de e-mail |
HTML | string | entrada | informar se a mensagem é HTML, valores válidos: "0" (não) ou "1" (sim) |
confirmacao | string | entrada | informar se deseja solicitar confirmação de leitura, valores válidos: "0" (não) ou "1" (sim) |
msgResultado | string | saída | retorna o literal do resultado chamada da funcionalidade |
timeout | string | entrada | informar o tempo de Timeout, o valor deve ser informado em ms, onde 1000ms corresponde a 1s, valor padrão anterior 180000ms (3 minutos) [28/09/13] |
Configuração dos provedores mais utilizados
ATENÇÃO : Não funciona mais com e-mail da Microsoft (outlook, Hotmail, live, etc) e nem com o e-mail do gmail.
provedor smtpCliente smtpUsuario smtpPorta smtpSLL nomeRemetente emailRemetente genérico smtp.dominio usuario@dominio 587 sim mantem em geral permite informar e-mail diferente da conta de smtp utilizada para o envio. GMail smtp.gmail.com usuario@gmail.com
Necessário gerar a senha de App.587 sim mantem não mantem, aparece o usuario@gmail.com Microsoft 365
Microsoft Outlook
Hotmail
Live.comsmtp-mail.outlook.com e-mail da conta
Necessário gerar a senha de App587 sim não mantem não mantem, aparece o usuario. IG smtp.ig.com.br usuario@ig.com.br 587 sim mantem não mantem, aparece o usuario@ig.com.br Terra smtp.siglaOpe.terra.com.br
a siglaOpe deve ser obtido no portal do Terrausuario
(sem @terra.com.br)587 sim ? não mantem, aparece o usuario@terra.com.br, se o e-mail remetente for diferente de terra.com.br, nem envia o e-mail. Yahoo smtp.mail.yahoo.com usuario
(sem @yahoo.com)
Necessário gerar a senha de App587 não mantem deve ser e-mail do usuario@yahoo.com Yahoo Br smtp.mail.yahoo.com.br usuario
(sem @yahoo.com.br)587 não mantem deve ser o e-mail do usuario@yahoo.com.br UOL smtp.uol.com.br usuario@uol.com.br 587 sim mantem permite e-mail diferente da conta de smtp utilizada para o envio. BOL smtps.bol.com.br usuario@bol.com.br 587 sim não permite não permite informar e-mail diferente da conta de smtp utilizada para o envio.
Retorno:
O resultado da chamada do EnvEmail é número que pode ter os valores:
código | Mensagem | origem | regra |
---|---|---|---|
7100 | Email enviado | DLL | - |
7101 | Erro: Tentativa de enviar e-mail falhou: [MENSAGEM DE FALHA DO WINDOWS] | DLL | - |
7102 | Erro: O e-mail do remetente deve ser informado. | DLL | - |
7103 | Erro: O e-mail do destinatário deve ser informado. | DLL | - |
7104 | Erro: O assunto do e-mail deve ser informado. | DLL | - |
7105 | Erro: A mensagem do e-mail deve ser informado. | DLL | - |
7106 | Erro: falha no processo de anexar os arquivos: [caminho do arquivo recebido pela DLL] | DLL | - |
7107 | Erro: O smtp cliente remetente deve ser informado. | DLL | - |
7108 | Erro: A porta smtp deve ser informado. | DLL | - |
7109 | Erro: O usuario do smtp deve ser informado. | DLL | - |
7110 | Erro: A senha do smtp deve ser informado. | DLL | - |
7111 | Erro: Arquivo(s) inexistente(s): [caminho do arquivo recebido pela DLL] | DLL | - |
7112 | Erro: O parâmetro smtpSSL deve ser informado com 0 ou 1 - valor informado: [VALOR INFORMADO] | DLL | - |
7113 | Erro: O parâmetro HTML deve ser informado com 0 ou 1 - valor informado: [VALOR INFORMADO] | DLL | - |
7114 | Erro: O parâmetro confirmacao deve ser informado com 0 ou 1 - valor informado: [VALOR INFORMADO] | DLL | - |
7115 | Erro: Erro não previsto: [MENSAGEM DE FALHA DO WINDOWS] | DLL | - |
Histórico de atualização:
- 2013-09-28 - 2Gv1.4 - Versão preliminar.
Exemplo de uso:
VB 6.0
Dim eMailRemetente As String Dim nomeRemetente As String Dim eMailDestinatario As String Dim eMailBcc As String Dim assunto As String Dim mensagem As String Dim arquivos As String Dim smtpCliente As String Dim smtpPorta As String Dim smtpSSL As String Dim smtpUsuario As String Dim smtpSenha As String Dim HTML As String Dim confirmacao As String Dim msgResultado As String Dim timeOut As String Dim cResultado As Long eMailRemetente = "contato@flexdocs.com.br" nomeRemetente = "suporte" eMailDestinatario = "suporte.flexdocs@gmail.com; contato@flexdocs.com.br" eMailBcc = "suporte.flexdocs@gmail.com" assunto = "Teste de envio de e-mail" mensagem = "corpo da mensagem" arquivos = "" smtpCliente = "smtp.flexdocs.com.br" smtpPorta = "587" smtpSSL = "0" smtpUsuario = "nao.responder@flexdocs.com.br" smtpSenha = "...." HTML = "0" confirmacao = "1" msgResultado = "" timeOut = "180000" ' 180.000 ms = 180 segundos. cResultado = 0 Dim objNFeUtil As Object Set objNFeUtil = CreateObject("NFe_Util_2G.util") cResultado = objNFeUtil.EnvEmail2(eMailRemetente, nomeRemetente, eMailDestinatario, eMailBcc, assunto, mensagem, arquivos, smtpCliente, smtpPorta, smtpSSL, smtpUsuario, smtpSenha, HTML, confirmacao, msgResultado, timeOut) MsgBox "O retorno da DLL é: " + Str(cResultado) + msgResultado, vbInformation, "Resultado" ' ' libera classe ' Set objNFeUtil = Nothing
- 13.4.2. Envia e-mail2 [07/10/24]
13.4. Utilidadades - « Anterior
13.4.1. Cria a chave de Acesso da NF-e 2G - Próximo »
13.4.3. Identar XML