Guest User

Untitled

a guest
Jan 22nd, 2018
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. uses
  2. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  3. Dialogs, StdCtrls, ComCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  4. IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdMessage,
  5. IdSMTP, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdText;
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. procedure TForm1.Button1Click(Sender: TObject);
  13. var
  14. // variáveis e objetos necessários para o envio
  15. IdSSLIOHandlerSocket: TIdSSLIOHandlerSocketOpenSSL;
  16. IdSMTP: TIdSMTP;
  17. IdMessage: TIdMessage;
  18. IdText: TIdText;
  19. sAnexo: string;
  20. begin
  21. // instanciação dos objetos
  22. IdSSLIOHandlerSocket := TIdSSLIOHandlerSocketOpenSSL.Create(Self);
  23. IdSMTP := TIdSMTP.Create(Self);
  24. IdMessage := TIdMessage.Create(Self);
  25.  
  26. try
  27. // Configuração do protocolo SSL (TIdSSLIOHandlerSocketOpenSSL)
  28. IdSSLIOHandlerSocket.SSLOptions.Method := sslvSSLv23;
  29. IdSSLIOHandlerSocket.SSLOptions.Mode := sslmClient;
  30.  
  31. // Configuração do servidor SMTP (TIdSMTP)
  32. IdSMTP.IOHandler := IdSSLIOHandlerSocket;
  33. IdSMTP.UseTLS := utUseImplicitTLS;
  34. IdSMTP.AuthType := satDefault;
  35. IdSMTP.Port := 465;
  36. IdSMTP.Host := 'smtp.gmail.com';
  37. IdSMTP.Username := 'MYLOGIN@gmail.com';
  38. IdSMTP.Password := 'MYPASS';
  39.  
  40. // Configuração da mensagem (TIdMessage)
  41. IdMessage.From.Address := 'MYLOGIN@gmail.com';
  42. IdMessage.From.Name := 'John Smith';
  43. IdMessage.ReplyTo.EMailAddresses := IdMessage.From.Address;
  44. IdMessage.Recipients.Add.Text := 'receiver@example.com';
  45. IdMessage.Subject := 'Hello World';
  46. IdMessage.Encoding := meMIME;
  47.  
  48. // Configuração do corpo do email (TIdText)
  49. IdText := TIdText.Create(IdMessage.MessageParts);
  50. IdText.Body.Add('The body of the e-mail goes here');
  51. IdText.ContentType := 'text/plain; charset=iso-8859-1';
  52.  
  53.  
  54. // Conexão e autenticação
  55. try
  56. IdSMTP.Connect;
  57. IdSMTP.Authenticate;
  58. except
  59. on E:Exception do
  60. begin
  61. MessageDlg('Cannot authenticate: ' +
  62. E.Message, mtWarning, [mbOK], 0);
  63. Exit;
  64. end;
  65. end;
  66.  
  67. // Envio da mensagem
  68. try
  69. IdSMTP.Send(IdMessage);
  70. MessageDlg('Message sent successfully!', mtInformation, [mbOK], 0);
  71. except
  72. On E:Exception do
  73. begin
  74. MessageDlg('Error while sending a message: ' +
  75. E.Message, mtWarning, [mbOK], 0);
  76. end;
  77. end;
  78. finally
  79. // liberação dos objetos da memória
  80. FreeAndNil(IdMessage);
  81. FreeAndNil(IdSSLIOHandlerSocket);
  82. FreeAndNil(IdSMTP);
  83. end;
  84. end;
Add Comment
Please, Sign In to add comment