Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

Delphi - Comunicação e Internet

Como enviar e-mail usando o componente TNMSMTP do Delphi 5?

Banner

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.

Observações

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.

O conteúdo desta página pode ajudar alguém? Compartilhe!