ENVIAR EMAIL EM DELPHI
Adicionado em 26/09/2023
Neste artigo, orientaremos você passo a passo sobre como enviar e-mails usando Delphi.
Você pode fazer o download do executável criado através do exemplo abaixo clicando aqui (executável contém ads):
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
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:
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:
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.