Código
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
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009