| Enviar email utilizando o componente Indy. |
|---|
| Enviado em Fri 03 Feb 2006 por admin (3914 leituras) |
|
*************************************************** 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; Créditos deste tutorial: Alessandro Martarello |
| Índice :: Imprimir :: Enviar a um amigo |

















