Internet - enviando email com os componentes indy |
Top Previous Next |
|
{What send e-mails with INDY?
I´m going to start a step-by-step description of building a simple program for sending e-mails with Indy Components.
This article is the published in my 6th book of Delphi (see more details in www.facunte.com.br, sorry Portuguese Language only).
Start a new project and insert TidSMTP, TIdAntiFreeze and TidMessage, from the Indy Components.
The routine is implemented }
-------------- esse eu fiz no Delphi 7 ------------------ INDY: IdSMTP : TIdSMTP; MyMessage: TIdMessage; AF : TIdAntiFreeze;
procedure TForm1.Button1Click(Sender: TObject); begin idSMTP.Username := 'junior'; idSMTP.Password := '***'; idSMTP.Host := '200.247.157.9'; idSMTP.Port := 25; idSMTP.Connect; try with MyMessage do begin Subject := 'Assunto'; From.Text := 'DE JUNIOR'; Recipients.EMailAddresses := 'junior@market.com.br'; // from ReceiptRecipient.Address := 'junior@market.com.br;mulajunior@yahoo.com.br'; // to Body.Text := 'Veja o anexo'; TIdAttachment.Create(MessageParts, 'c:\Graf.bmp'); idSMTP.Send(MyMessage); end; finally idSMTP.Disconnect; end; end;
------------------------- exemplo 2 ----------------------
procedure TfmeMail.btSendClick(Sender: TObject); begin // Config Client idSMTP1.UserId:=edUser.Text; // TEdit idSMTP1.Password:=edPass.Text; // TEdit idSMTP1.Host:=edHost.Text; // TEdit idSMTP1.Port:=StrtoInt(edPort.Text); // edPort = TEdit // Atribui o Conteudo do objeto TextodoEmail // ao objeto PPMensagem // Connect SMTP Server idSMTP1.Connect; try with MyMessage do // Message = TidMessage begin // Config Subject Subject:=edSubject.Text; // edSubject = TEdit // Config From.Text:=edUser_ID.Text; // edUser_ID = TEdit // Config Recipient Recipients.EMailAddresses:='put addresses mail for the recipient'; ReceiptRecipient.Address:='put a list of recipient addresses'; // examples // Recipients.EMailAddresses:='davidi@borland.com'; // ReceiptRecipient.Address:='man1@borland.com;man2@borland.com;emerson@facunte.com.br';
// Config Message Body.Text:=edMessage.Text; // TMemo
// Send e-mail idSMTP1.Send(MyMessage); end; // with MyMessage finally // Discconect Server idSMTP1.Disconnect; end; end;
=====================================================================
SMTP: TIdSMTP; Mensagem: TIdMessage;
with Mensagem do begin MessageParts.Clear; Body.Assign(MensagemMemo.Lines); // .............................. Associa a o texto do memo à mensagem From.Text := DeEdit.Text; // ..................... Quem esta enviando a mensagem ReplyTo.EMailAddresses := DeEdit.Text; // ..................... Guardar uma copia com o remente Recipients.EMailAddresses := ClienteCDS.Campo('des_email'); // ... Destinatario Subject := AssuntoEdit.Text; // ................ Assunto if ConfirmaCheck.Checked then ReceiptRecipient.Text := DeEdit.Text // ...................... Retornar e-mail para else ReceiptRecipient.Text := '';
////////////////////////////////////////////////////////////////// Anexar arquivos avulsos for i := 0 to Pred(AnexosLista.Count) do TIdAttachment.Create(Mensagem.MessageParts, AnexosLista.Items.Strings[i]);
////////////////////////////////////////////////////////////////// Anexar arquivos key if AnexarCheck.Checked then TIdAttachment.Create(Mensagem.MessageParts, DirBarra(PastaKeyEdit.Text) + ClienteCDS.Campo('arquivo_key')); end;
// Usuario e Senha SMTP.Username := UsuarioEdit.Text; SMTP.Password := SenhaEdit.Text;
// Servidor SMTP.Host := ServidorEdit.Text; SMTP.Port := 25;
// Envia SMTP.Connect; try SMTP.Send(Mensagem); finally SMTP.Disconnect; end; |