Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Enviar E-mail usando TIdSMTP + SSL – Indy Delphi


Fr33dom
 Compartilhar

Posts Recomendados

Este tutorial serve para explicar como enviar e-mails via delphi.

Este projecto foi desenvolvido por : Ryan Padilha e já testei , funciona 100%

Testado no Gmail , hotmail e yahoo

 

Em primeiro lugar tem de ter estas duas dll's na pasta do projecto : (libeay32.dll e sqlite3.dll) que já veem incluidas no rar.

É atraves destas dll's que os mails vao ser enviados...

Em segundo lugar entendendo o código do projecto :

 

Indy_Delphi.jpg

 

Nome da conta: [email protected] //Colocar o teu e-mail

Servidor: smtp.gmail.com // Colocar o servidor , gmail neste caso

Porta: 465 // Usar esta porta por defeito ou colocar outra dependendo do servidor

Opção 1: servidor requer autenticação

Opção 2: usar conexão segura via TLS (porta 465)

 

Em terceiro lugar o código do projecto :

 

procedure TFrmConfEmail.btnConexaoClick(Sender: TObject);

begin

Try

Screen.Cursor := crHourGlass;

IdSMTP1.Host := Trim(edtServidorSMTP.Text);

IdSMTP1.Username := Trim(edtUsuarioServ.Text);

IdSMTP1.Password := Trim(edtSenhaServ.Text);

IdSMTP1.Port := StrToInt(Trim(edtPortaServ.Text));

 

//-- requer autenticacao

if chkServerRequerAut.Checked then

IdSMTP1.AuthenticationType:= atLogin

else

IdSMTP1.AuthenticationType:= atNone;

 

//-- conexao segura SSL

if chkSSL.Checked then

IdSMTP1.IOHandler := IdSSLIOHandlerSocket1

else

IdSMTP1.IOHandler := nil;

 

if NOT IdSMTP1.Connected then

IdSMTP1.Connect(2000);

 

if IdSMTP1.Connected then

ShowMessage('CONECTADO> Teste de conexão realizado com sucesso!')

else

ShowMessage('DESCONECTADO> Tesde de conexão FALHOU!');

Except

on E:Exception do

ShowMessage(e.Message);

end;

 

IdSMTP1.Disconnect;

Screen.Cursor:= crDefault;

end;

 

enviarEmail_IndyDelphi.jpg

 

Em quarto lugar o processo para o envi do e-mail utilizando as dll's :

 

procedure EnviarEmail;

begin

IdSMTP1.Host := Trim(edtServidorSMTP.Text);

IdSMTP1.Username := Trim(edtUsuarioServ.Text);

IdSMTP1.Password := Trim(edtSenhaServ.Text);

IdSMTP1.Port := StrToInt(Trim(edtPortaServ.Text));

 

//-- requer autenticacao

if chkServerRequerAut.Checked then

IdSMTP1.AuthenticationType:= atLogin

else

IdSMTP1.AuthenticationType:= atNone;

 

//-- conexao segura SSL

if chkSSL.Checked then

IdSMTP1.IOHandler := IdSSLIOHandlerSocket1

else

IdSMTP1.IOHandler := nil;

 

IdMessage1.MessageParts.Clear;

TIdAttachment.Create(IdMessage1.MessageParts, myFileXML);

 

//-- ORIGEM

IdMessage1.From.Address := Trim(edtContaEmail.Text);

IdMessage1.Subject := Trim(edtAssunto.Text);

IdMessage1.Body.Text := Trim(MemoMsg.Lines.Text);

 

//-- DESTINO

IdMessage1.Recipients.EMailAddresses := [email protected]; //e-mail destinatário

IdMessage1.BccList.EMailAddresses := '';

IdMessage1.CCList.EMailAddresses := '';

 

if NOT IdSMTP1.Connected then

IdSMTP1.Connect(2000);

 

if IdSMTP1.Connected then begin

//IdSMTP1.Authenticate;

IdSMTP1.Send(IdMessage1);

Application.ProcessMessages;

 

IdSMTP1.Disconnect;

end;

end;

 

Fica para voçês a source , para quem quiser estudar e alterar . Espero que tenham gostado ... :hm:

É necessário se cadastrar para acessar o conteúdo.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.