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.

Enviando e-mail no delphi + SSL


fr0g
 Compartilhar

Posts Recomendados

Bom pessoal esse é meu primeiro tutorial de delphi e sou suuuuuuper iniciante em delphi mas pelo pouco que aprendi e vi muitos tem problemas em enviar e-mails no delphi.

 

Pra começar vamos adicionar:

 

- 6 Edit [Paleta Standard]

- 7 Label [Paleta Standard]

- 1 Memo [Paleta Standard]

- 1 SpinEdit [Paleta Samples]

- 1 Button [Paleta Standard]

- 1 IdSMTP [Paleta Indy Clients]

- 1 IdSSLIOHandlerSocket [Paleta Indy I/O Handlers]

- 1 IdMessage [Paleta Indy Misc]

e se quiser 1 xpManifest para dar uma 'carinha' melhor que fica na paleta Win32.

 

Deixe seu programa mais ou menos assim:

 

imagemgqr.png

 

Nosso programa está graficamente pronto, mas agora vamos botar a mão na massa.

 

- Renomeie IdSMTP para SMTP

- Renomeie IdMessage para MSG

- Clique em SMTP e em Properties procure por IOHandler e o adicione, mude em SSL Options o Method para lvSSLv23:

 

iooptions.png

 

- De dois cliques no Button1 e adicione o seguinte código (entre o begin e o end) :

with SMTP do

begin

AuthenticationType := atLogin;

Host := edit4.Text;

Password := edit6.Text;

Port := 465;

Username := edit5.Text;

with MSG do

begin

Body.Add(memo1.Lines.Text);

From.Address := edit1.text;

Recipients.Add;

Recipients.Items[0].Address := edit2.Text;

Subject := edit3.Text;

end;

try

SMTP.Connect();

SMTP.Send(MSG);

finally

SMTP.Disconnect;

showmessage('E-mail enviado com sucesso!');

end;

end;

end;

- Apague o text de cada edit.

- Salve o projeto em uma pasta.

- Compile.

 

Agora a parte que salva muitas pessoas daqueles erros chatos causados pela falta de 2 dll's na pasta do sistema do windows responsável pela criptografia ssl.

 

Primeiro baixe

É necessário se cadastrar para acessar o conteúdo.
as dll's no formato .RES e extraia na pasta onde salvou seu projeto.

 

O que vamos fazer com as dll's?

Vamos fazê-las extrairem automaticamente na pasta 'C:\Windows\System32' para que não aconteça erros na hora de enviar o e-mail.

 

Então abra seu projeto novamente se fexado e no source lá no início abaixo da implementation {$R *.dfm}, adicione {$R ssleay32.res} e {$R libeay32.res}.

 

Ficando assim:

implementation

 

{$R *.dfm}

{$R ssleay32.res}

{$R libeay32.res}

Embaixo coloque essas 2 procedures:

Procedure ssleay32;

Var PathToSave:String;

Res : TResourceStream;

Begin

PathToSave := 'C:\Windows\system32\ssleay32.dll'; // (Pasta + Nome da dll aonde vai salvar)

If not FileExists(PathToSave) Then Begin // Checa se o arquivo já existe

Res := TResourceStream.Create(Hinstance, 'ssleay32', 'DLL'); //O título e o tipo do arquivo

Try // Salva o arquivo

Res.SavetoFile(PathToSave);

Finally

Res.Free;

End;

End;

end;

 

Procedure libeay32;

Var PathToSave:String;

Res : TResourceStream;

Begin

PathToSave := 'C:\Windows\system32\libeay32.dll'; // (Pasta + Nome da dll aonde vai salvar)

If not FileExists(PathToSave) Then Begin // Checa se o arquivo já existe

Res := TResourceStream.Create(Hinstance, 'libeay32', 'DLL'); //O título e o tipo do arquivo

Try // Salva o arquivo

Res.SavetoFile(PathToSave);

Finally

Res.Free;

End;

End;

end;

Agora no Object Inspector vá até form1 e na aba events de dois cliques em OnCreate e coloque o assim (entre o begin e o end) :

libeay32;

ssleay32;

form1.Edit6.PasswordChar:= '*'; //muda o formato para *** para ninguem ver sua senha!

Agora salve seu projeto e compile-o, está pronto!

Quando abrir seu programa ele salvará as dll's na pasta System32 do Windows automaticamente.

 

Só isso.

 

O tuto é bem simples mas demorei 1 tempo pra fazer :D

 

Mas como eu disse eu estou aprendendo ainda, não sei praticamente nada.

Mas do pouco que aprendi, resolvi compartilhar ;)

 

Pra quem quiser baixar o source é só clicar

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

 

É isso ai, desculpa qualquer erro, e se tiver duvidas posta ai!

 

Créditos 98% fr0g, por fazer o tuto e configurar as procedures e 2% a não sei quem que as criou.

Link para o comentário
Compartilhar em outros sites

Iniciante em delphi o.O .. e ...Creditos 100% seu ?

 

entao ta de parabens amigo.... otimo tutorial, mto completo....

Fonte bem editada, codigos em tags e tals.... mto bom ;)

 

ahh...

E bem vindo a area de programaçao do webcheats... qualker coisa to ae pra ajudar ^^

(( naao soh eu, como tbm os programadores de verdade tbm :rolleyes: ))

 

flw, abraços :p

Link para o comentário
Compartilhar em outros sites

entãao, vou editar esses créditos pois as procedures para salvar as dlls eu tinha aqui no pc, mas não lembro onde arrumei. só que o que eu tinha eram procedures de salvar executaveis.

eu as modifiquei para dll.

então acho q tenho uns 98% de créditos :D

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.