Enviando e-mail no Delphi
Fazer um aplicativo completo para manipulação de e-mails é um
tanto trabalhoso e não é o assunto desta dica. Muitas vezes,
porém, queremos apenas dar ao nosso software a capacidade de
enviar simples e-mails. Isto é fácil, especialmente porque o
Delphi5 nos oferece o componente TNMSMTP (paleta FastNet) que
faz praticamente todo o trabalho para nós. Precisamos apenas
alterar algumas propriedades e chamar alguns métodos para que
a mensagem seja enviada. Vamos para a prática:
1. Coloque um componente TNMSMTP no form.
2. Coloque um botão e no evento OnClick deste botão escreva:
procedure TForm1.Button1Click(Sender: TObject);
begin
{ Host do servidor de e-mail }
NMSMTP1.Host := 'mail.servidor.com.br';
NMSMTP1.Port := 25;
{ Nome de login do usuário }
NMSMTP1.UserID := 'nome-do-usuario';
NMSMTP1.Connect;
if not NMSMTP1.Connected then
raise Exception.Create('Erro de conexão');
with NMSMTP1.PostMessage do begin
{ E-mail do remetente }
FromAddress := 'fulano@servidor.com.br';
{ Nome do remetente }
FromName := 'Fulano de Tal';
{ E-mail do destinatário }
ToAddress.Clear;
ToAddress.Add('beltrano@servidor.com.br');
Subject := 'Assunto da mensagem';
{ Corpo da mensagem }
Body.Clear;
Body.Add('Primeira linha da mensagem');
Body.Add('Segunda linha da mensagem');
Body.Add(''); { Linha em branco }
Body.Add('Última linha da mensagem');
{ Anexar arquivos }
Attachments.Clear;
Attachments.Add('c:\diretorio\arquivo.ext');
end;
NMSMTP1.SendMail;
NMSMTP1.Disconnect;
end;
Pronto! É só fazer as adaptações necessárias e você terá envio
de e-mails em sua aplicação.
Para enviar o mesmo e-mail para vários destinatário de uma só vez basta adicionar os endereços de e-mails de todos os destinatários em NMSMTP1.PostMessage.ToAddress.