- 14.4. Utilidadades
14.4.3. Envia e-mail [16/03/12] - 14.4.2. Cria a chave de Acesso da NF-e 2G
« Anterior - 14.4.4. Identar XML
Próximo »
14.4.3. Envia e-mail [16/03/12]
Envio de e-mail
Assinatura:
int EnvEmail(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);
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.:25, o gmail utiliza a porta 587 |
| smtpSSL | string | entrada | informar o uso de SSL: 0-não e 1-sim, o gmail e o hotmail utilizam o SSL |
| 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 |
Configuração dos provedores mais utilizados
provedor smtpCliente smtpUsuario smtpPorta smtpSLL nomeRemetente emailRemetente genérico smtp.dominio usuario@dominio 25 sim mantem em geral permite informar e-mail diferente da conta de smtp utilizada para o envio. GMail smtp.gmail.com usuario@gmail.com 587 sim mantem não mantem, aparece o usuario@gmail.com Hotmail smtp.live.com usuario@hotmail.com 25 sim não mantem não mantem, aparece o usuario@hotmail.com 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 (*vide Obs) sim (*vide Obs) ? 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.
Obs.: Temos relato de usuário informando que a conta empresarial pode utilizar a porta 25 sem SSLYahoo smtp.yahoo.com usuario
(sem @yahoo.com)25 não mantem deve ser e-mail do usuario@yahoo.com Yahoo Br smtp.mail.yahoo.com.br usuario
(sem @yahoo.com.br)25 não mantem deve ser o e-mail do usuario@yahoo.com.br UOL smtp.uol.com.br usuario@uol.com.br 25 sim mantem permite e-mail diferente da conta de smtp utilizada para o envio. BOL smtp.bol.com.br usuario@bol.com.br 25 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 | - |
Histórico de atualização:
- 2011-06-02 - 2Gv0.7- Versão preliminar.
- 2011-06-16 - 2Gv0.7a - Atualizado com o parâmetro smptSSL
- 2011-09-19 - 2Gv0.8a - Atualizada com os parâmetros HTML e confirmacao
- 2011-01-xx - 2Gv0.9 - Atualizada para permitir a indicação de uma lista de e-mail no parâmetro emailBCC
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 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 = "25" smtpSSL = "0" smtpUsuario = "nao.responder@flexdocs.com.br" smtpSenha = "...." HTML = "0" confirmacao = "1" msgResultado = "" cResultado = 0 Dim objNFeUtil As Object Set objNFeUtil = CreateObject("NFe_Util_2G.util") cResultado = objNFeUtil.EnvEmail(eMailRemetente, nomeRemetente, eMailDestinatario, eMailBcc, assunto, mensagem, arquivos, smtpCliente, smtpPorta, smtpSSL, smtpUsuario, smtpSenha, HTML, confirmacao, msgResultado) MsgBox "O retorno da DLL é: " + Str(cResultado) + msgResultado, vbInformation, "Resultado" ' ' libera classe ' Set objNFeUtil = Nothing
- 14.4.3. Envia e-mail [16/03/12]
14.4. Utilidadades - « Anterior
14.4.2. Cria a chave de Acesso da NF-e 2G - Próximo »
14.4.4. Identar XML