Buscar

Enviando email usando o indy no delphi 7

Código

Veremos neste artigo como é fácil enviar email utilizando o componente Indy presente no delphi 7.
Apresentaremos abaixo uma simples aplicação, basta você ter um pouco de criatividade e dar asas a sua imaginação...

No Delphi crie um novo projeto.
Salve a Unit com o nome UEmail e o projeto como Email.

Utilize os seguintes componentes:

3 Labels:
Altere as propriedades Caption respectivamente para: (Para, Assunto, Mensagem)

2 Edits
Altere as propriedades Name respectivamente para:(edtPara, edtAssunto);
Apague o conteúdo das propriedades Text;

1 ListBox
Altere a propriedade Name para:(lbxAnexos)

1 Componente Memo
Altere a propriedade Name para:(mmMensagem);
Apague o conteúdo da propriedade lines.

3 Componentes Bitbtn
Altere as propriedades Caption respectivamente para:(Anexar,Enviar,Fechar)
Altere as propriedades Name respectivamente para:(btAnexar,btEnviar,btFechar)

Agora insira um componente OpenDialog da palheta Dialogs
Altere a propriedade Name para:(odAnexos)

Insira um componente IdMessage, da palhete Indy Misc
Configure a propriedades From|Address com o email do remetente e From|Name com o
nome do remetente
Altere a propriedade Name para:(IdMessage)

Insira um componente IdSMTP da palheta IndyClients
Configure as propriedades Host com o endereço IP ou o DNS do servidor de email,
por exemplo: smtp.uol.com.br
Configure as propriedades Password e Username, para se autenticar no servidor,
caso seja necessário.
Altere a propriedade name para:(IdSMTP)

Agora vamos aos códigos:

No evento onclick do botão btAnexos:
procedure TForm1.btAnexarClick(Sender: Tobject);
begin
  if odAnexos.Execute then
    lbxAnexos.Items.Add(odAnexos.FileName);
end;

No evento onclick do botão btFechar:
procedure TForm1.btFecharClick(Sender: Tobject);
begin
  Application.Terminate;
end;

No evento onclick do botão btEnviar:

procedure TForm1.btEnviarClick(Sender: TObject);
var Anexo : Integer;
begin
  IdMessage.Recipients.EMailAddresses := edtPara.Text;
  IdMessage.Subject := edtAssunto.Text;
  IdMessage.Body := mmMensagem.Lines;

  //Manipulando os Anexos
  for Anexo := 0 to lbxAnexos.Items.Count-1 do
    TIdAttachment.Create(idmessage.MessageParts, TFileName(lbxAnexos.Items.Strings[Anexo]));

  IdSMTP.Connect;
  try
    IdSMTP.Send(IdMessage);
  finally
    IdSMTP.Disconnect;
  end;
  Application.MessageBox('Email enviado com sucesso!', 'Confirmação',
MB_ICONINFORMATION +   MB_OK);
end;

Tutorial por  Alessandro Martarello

 

Publicidade

Vote na dica




Quantidade de votos: 1 voto
Aceitação: 20%


Detalhes da dica

Categoria: Rede
Adicionada dia: 09/01/06
Por: Daniel Frantz
Visualizada: 28994 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009