ENVIAR EMAIL EM DELPHI

Adicionado em 26/09/2023

Compartilhar em:

Neste artigo, orientaremos você passo a passo sobre como enviar e-mails usando Delphi.

Download do Programa

Você pode fazer o download do executável criado através do exemplo abaixo clicando aqui (executável contém ads):

Download Enviar Email

Nota: Obviamente, como fornecemos o executável gratuito, não pagamos pelo certificado de assinatura. Por isso, o Windows emite um alerta de segurança pela ausência do certificado.

Você pode ignorar este alerta do Windows. Coloque os arquivos DLL dentro do arquivo ZIP dentro da mesma pasta do executável

Criando o Software

Comece abrindo o Delphi e criando uma nova aplicação VCL.

Em seguida, adicione os componentes TEdit, TLabel, TMemo, TButton e TOpenDialog ao seu formulário. A disposição desses elementos pode ser visualizada na figura apresentada abaixo:

Agora mudamos os nomes dos TEdit e to TMemo no Object Inspector para:

  • edtNome : Campo do nome
  • edtEmail : Campo do seu email
  • edtAssunto : Campo do assunto do email
  • edtPara : Campo para email do destinatário
  • edtCC : Campo para emails em cópia
  • edtCCO : Campo para emails em cópia oculta
  • edtAnexo : Campo para adicionar arquivos anexo
  • edtSMTP : Campo para adicionar o smpt do servidor
  • edtUsuario : Campo para adicionar seu login de usuário (geralmente seu email no servidor)
  • edtSenha : Campo para adicionar sua senha no servidor
  • edtPorta : Campo para adicionar a porta de conexão com o servidor
  • memoTexto : Mensagem a ser enviada

No Object Inspector, altere o nome do componente TOpenDialog para "OD". Além disso, ajuste o Caption dos TLabel conforme demonstrado na figura anterior.

Para facilitar o preenchimento pelo usuário, predefina textos nos Edits como "Seu email...", "Seu nome..." e assim por diante. Insira esses placeholders na propriedade Text do TEdit no Object Inspector.

Para esconder a senha no TEdit, busque a opção PasswordChar no Object Inspector e modifique para .

Renomeie o TButton para "Enviar" e outro chamado "Adicionar Arquivo".

Por último, dê dois cliques no botão "Enviar" e insira o código que será apresentado a seguir:

Atualize a claúsula Uses do seu código com as bibliotecas mostradas abaixo:

Agora no botão Adicionar Arquivo adicionamos o código:

Em seguida, precisamos definir um procedimento para gerenciar a inicialização do IdMessage.

Insira o seguinte procedimento dentro das declarações do seu TForm1: procedure IdMessage_InitializeISO(var VHeaderEncoding: Char; var VCharSet: string);

Use o atalho de teclado Ctrl+Shift+C para gerar automaticamente o corpo deste procedimento.

Depois, você pode adicionar o código específico para essa função.

Neste ponto, você deve ser capaz de executar seu aplicativo sem encontrar erros. No entanto, ao tentar usá-lo, pode surgir um erro associado ao OpenSSL. Para resolver isso coloque as dlls libeay32.dll e ssleay32.dll no diretório do seu aplicativo. Clique aqui para baixar essas dlls. Lembre-se de procurar versões atualizadas na web, caso necessário.

Após essas etapas, seu aplicativo estará pronto para funcionar. No entanto, podem surgir erros durante o envio de mensagens devido a configurações do servidor de e-mail. Os servidores mais populares no Brasil são Outlook, Gmail e Yahoo. Devido a restrições de segurança, pode ser desafiador obter acesso, principalmente com o Gmail, por meio de um software não certificado.

Para fins de demonstração, orientaremos sobre a configuração do e-mail do Yahoo para possibilitar o envio de mensagens:

Configurações padrão do Yahoo para envio de e-mail:

SMTP: smtp.maill.yahoo.com

Porta: 587

Usuário: seu e-mail, e.g., [email protected]

Embora possa tentar usar a senha regular do seu e-mail, você pode encontrar um erro, como:

Error while sending a message: (#AUTH005) Too many bad auth attempts.

Essa mensagem pode surgir devido a várias razões: tentativas malsucedidas de conexão, credenciais incorretas, etc.

No contexto deste tutorial, esse erro surgiu ao conectar com o aplicativo. A solução encontrada foi criar uma senha específica para aplicativos terceiros no Yahoo.

Para fazer isso:

  • Acesse sua conta de e-mail Yahoo.
  • Clique no seu nome de usuário, localizado no canto superior direito.
  • Selecione "Informações da conta".
  • No menu que aparecer, vá em "Segurança" e depois escolha "Gerar e gerenciar senhas de aplicativo".
  • Para o nome do aplicativo, usamos o nome do nosso formulário, que é "Form1". Ao clicar em "gerar senha", você receberá uma sequência alfanumérica. Copie e cole esta senha no seu aplicativo para conectar-se ao servidor.

Esta senha permanecerá válida até que você opte por removê-la do servidor. Com ela configurada, seu aplicativo deverá ser capaz de enviar e-mails.

Espero que tenham apreciado este tutorial. Em caso de dúvidas, fiquem à vontade para nos contatar.