NFSeEnviaEmail

A função NFSeEnviaEmail serve para fazer o envio de um e-mail.

Tipo de Retorno

Integer

Pacote

A função NFSeEnviaEmail está definida dentro do pacote NFSeEnviaEmail.pkg.

Sintaxe

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

Onde:

  • &{vParams} é uma estrutura do tipo tNFSeEnviaEmail que deve ser passada por referência e tem as seguintes propriedades:
    • {sRemetente} é o endereço de e-mail do remetente;
    • {sNomeRemetente} é o nome do remetente;
    • {sDestinatarios} é o endereço dos 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 os endereços 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 quando a mensagem é apenas texto, ou pode também ser em formato HTML desde que indicado no parâmetro {bHTML};
    • {sAnexos} é a lista de arquivos que serão enviados anexos, sendo que os arquivos devem ser informados com o caminho completo do arquivo e, 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 como o gmail, que usa a porta 587;
    • {bSSL} indica se o servidor usa SSL (True) ou não (False). O gmail, por exemplo, usa SSL e se não for informado True neste parâmetro a autenticação falhará;
    • {sSMTPUsuario} é o nome do usuário para autenticar no 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 autenticar o usuário no servidor SMTP;
    • {bHTML} indica se a mensagem está em formato HTML (True), sendo que por padrão o valor é False indicando que o corpo do e-mail é texto simples;
    • {bConfirmacao} indica se será solicitada a confirmação de leitura (True), sendo que por padrão o valor é False indicando que não será solicitada confirmação de leitura para o destinatário;
    • {sMsgResultado} é uma variável do tipo String 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;
  • {iRet} é o código do retorno da chamada da função, sendo que 0 (zero) indica que o e-mail foi enviado e qualquer valor diferente de 0 (zero) indica que houve algum erro no envio. Possíveis retornos de erro:
    • 7101: Tentativa de enviar e-mail falhou: [MENSAGEM DE FALHA DO WINDOWS];
    • 7102: O e-mail do remetente deve ser informado;
    • 7103: O e-mail do destinatário deve ser informado;
    • 7104: O assunto do e-mail deve ser informado;
    • 7105: A mensagem do e-mail deve ser informado;
    • 7106: falha no processo de anexar os arquivos: [caminho do arquivo recebido pela DLL];
    • 7107: O smtp cliente remetente deve ser informado;
    • 7108: A porta smtp deve ser informado;
    • 7109: O usuario do smtp deve ser informado;
    • 7110: A senha do smtp deve ser informado;
    • 7111: Arquivo(s) inexistente(s): [caminho do arquivo recebido pela DLL].

Exemplo

Um exemplo de utilização desta função pode ser visto na view EnviaEmail.vw da Workspace de exemplo (a partir da versão 2016/01).

Observações

  • 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=1. 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 do protocolo SSL e usuário de autenticação consulte o suporte técnico do seu provedor de e-mail;
  • A função considerará o corpo do e-mail como texto simples caso o parâmetro {bHTML} não seja informado;
  • Caso o parâmetro {bConfirmacao} não seja informado será considerado False, indicando que não será solicitada ao destinatário a confirmação do recebimento do e-mail;
  • Esta função está disponível a partir da versão 2014/01.

Configuração dos provedores mais utilizados

Provedor SMTP Porta SSL Usuário
Genérico smtp.dominio 25 Não usuario@dominio
GMail smtp.gmail.com 587 Sim usuario@gmail.com
Hotmail smtp.live.com 587 Sim usuario@hotmail.com
Yahoo smtp.yahoo.com 587 Não usuario
Yahoo Br smtp.mail.yahoo.com.br 587  Não usuario

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