NFeEnviaEmailV2

A função NFeEnviaEmailV2 permite enviar e-mail em formato texto ou html e com ou sem anexos. Esta função permite o envio de e-mail sem criptografia ou com os seguintes tipos de criptografia: STARTTLS ou SSL/TLS.

Esta função utiliza as DLL’s MailKit.dll e MimeKit.dll conforme os termos de uso descrito no fim desta documentação e devem ser salvas, juntamento com a System.Buffers.dll, no diretório programs da sua aplicação.

Tipo de Retorno

Integer

Pacote

A função NFeEnviaEmailV2 está definida dentro do pacote NF-eEnviaEmailV2.pkg.

Sintaxe

Move (NFeEnviaEmailV2(&{vParams})) to {iRet}                   

Onde:

  • &{vParams} é uma variável do tipo tNFeEnviaEmailV2 é passada por referência contendo os parâmetros para execução da função e possui também algumas propriedades de retorno, conforme abaixo:
    • sRemetente: é o endereço de e-mail do remetente;
    • sNomeRemetente: é o nome do remetente;
    • sDestinatarios: informe o endereço do destinatário, sendo possível informar mais de 1 endereço separando os endereços por ponto-e-vírgula (;) ou vírgula (,);
    • sBCC: informe os endereços para cópia oculta da mensagem (BCC - Blind Carbon Copy), sendo possível informar mais de 1 endereço separando por ponto-e-vírgula (;) ou vírgula (,);
    • sAssunto: é o assunto do e-mail;
    • sMensagem: é a mensagem do corpo do e-mail, sendo a quebra de linha identificada pelos caracteres 13 e 10;
    • sAnexos: é a lista de arquivos que serão enviados como anexo, sendo que os arquivos devem ser informados com o caminho completo. Para informar mais de 1 arquivo, basta separá-los por ponto-e-vírgula (;) ou vírgula (,);
    • sSMTP: é o endereço de SMTP que será usado para enviar o e-mail, como por exemplos smtp.live.com (hotmail) ou smtp.gmail.com (gmail);
    • iPortaSMTP: é a porta utilizada para comunicação com o servidor SMTP, sendo que a maioria dos servidores usam a porta 25, mas há exceções. O gmail, por exemplo, usa a porta 587;
    • iTipoCriptografia: indica se a servidor usa STARTTLS (2), usa SSL/TLS (1) ou não (0). O gmail, por exemplo, usa SSL e se não for informado 1 neste parâmetro a autenticação irá falhar;
    • sSMTPUsuario: é o nome do usuário para acessar o servidor SMTP, sendo que em alguns servidores o usuário é a parte que vem antes do "@" no endereço de e-mail e em outros é o próprio endereço de e-mail;
    • sSMTPSenha: é a senha para acessar o servidor SMTP;
    • sMsgResultado: é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá a mensagem literal do resultado da chamada da função;
    • bExibeErro: é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução;
    • bHTML: indica o formato da mensagem que será usado, sendo que True indica que o corpo do e-mail está em formato HTML e False indica que o corpo do e-mail é texto simples;
    • bConfirmacaoLeitura: indica se será solicitada confirmação de leitura para o destinatário (True) ou não (False);
    • iTimeout: permite definir o timeout do envio do e-mail em milisegundos. Caso seja informado 0 (zero) a NFeLibrary utiliza como padrão 180.000 ms.
  • {iRet} é o código do retorno da chamada da função onde 0 (zero) indica que o e-mail foi enviado e qualquer valor diferente de 0 (zero) indica que houve algum erro no envio.

Observações

  • Função disponível a partir da versão 2022/01.
  • É muito comum que o envio de e-mails por esta função seja bloqueado por programas de antivírus, gerando erro para a função. Neste caso, consulte a documentação do seu programa de e-mail para verificar como fazer para configurar o antivírus para não bloquear o envio.
  • Em 10/09/2015, tivemos relatos de dificuldades para usar a função com o gmail. Fizemos testes e tivemos sucesso no envio após habilitar a opção "Permitir aplicativos menos seguros" na conta do google e usando a porta 587 com SSL/TLS. Para mais detalhes sobre a opção, acesse este link: https://support.google.com/accounts/answer/6010255?hl=pt-BR.
  • No caso de dúvidas referente às informações do servidor como endereço SMTP, porta de comunicação, utilização de protocolo de criptografia e/ou usuário de autenticação consulte o suporte técnico do seu provedor de e-mail.
  • A função não suporta o uso de proxy.

Configuração dos provedores mais utilizados

Provedor SMTP Porta Criptografia Usuário
Genérico smtp.dominio 25 Sem usuario@dominio
GMail smtp.gmail.com 587 SSL/TLS usuario@gmail.com
Hotmail smtp.office365.com 587 STARTTLS usuario@hotmail.com
Yahoo smtp.yahoo.com 587 Sem usuario
Yahoo Br smtp.mail.yahoo.com.br 587  Sem usuario

Termo de uso das DLL’s

MailKit.dll

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ACRONSOFT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO MAS NÃO LIMITADO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. EM NENHUM CASO A ACRONSOFT SERÁ RESPONSÁVEL POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, DE OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.

MimeKit.dll

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO MAS NÃO LIMITADO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. EM NENHUMA CIRCUNSTÂNCIA OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER REIVINDICAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, DE OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO PROGRAMAS.

Não encontrou o que precisava, entre em contato conosco.