Advertisement
Gov_777

smtp

Feb 1st, 2016
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.39 KB | None | 0 0
  1. idSMTP1:=TIdSMTP.Create(nil);
  2. idmessage1:=Tidmessage.Create(nil);
  3.  
  4. idSMTP1.OnWork:=IdSMTP1Work;
  5. idSMTP1.OnWorkBegin:=IdSMTP1WorkBegin;
  6. idSMTP1.OnWorkEnd:=IdSMTP1WorkEnd;
  7. idSMTP1.OnStatus:=IdSMTP1Status;
  8.  
  9. idSMTP1.ConnectTimeout:=10000;
  10. idSMTP1.ReadTimeout:=60000;
  11.  
  12. SysLocale.PriLangID := LANG_UKRAINIAN;
  13. //SysLocale.PriLangID := LANG_RUSSIAN;
  14. IdMessage1.CharSet := 'UTF-8';          //Windows-1251
  15. IdMessage1.ContentTransferEncoding := '8bit';
  16. idsmtp1.Host:='smtp.mail.ru';
  17. idsmtp1.MailAgent:='Mozilla'; // имя агента
  18. idsmtp1.Port:=port;  // Port:=2525; отправлено  и 587 то же   465 - не хочет и 25 не хочет
  19. idsmtp1.Username:=login;
  20. idsmtp1.Password:=pass;
  21. idmessage1.Body.Add(memo1.text) ;// текст письма
  22. if edit4.Text<>'Имя вложенного файла' then TIdAttachmentFile.Create(IdMessage1.MessageParts, pchar(edit4.Text));// аттач файл, который нужно отправить
  23. idmessage1.Subject:=AnsiString(edit3.Text);// тема письма
  24. idmessage1.From.Text:=login;// пишет от кого
  25. idmessage1.Recipients.EMailAddresses:=Femail;// кому
  26. idmessage1.IsEncoded:=true;
  27. {это необходимо использовать для SSL для гугл и маил.ру}
  28. IdSSLIOHandlerSocketOpenSSL1 := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  29. IdSSLIOHandlerSocketOpenSSL1.Destination := IdSMTP1.Host+':'+IntToStr(IdSMTP1.Port);
  30. IdSSLIOHandlerSocketOpenSSL1.Host := IdSMTP1.Host;
  31. IdSSLIOHandlerSocketOpenSSL1.Port := IdSMTP1.Port;
  32. IdSSLIOHandlerSocketOpenSSL1.DefaultPort := 0;
  33. IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1;
  34. IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmUnassigned;
  35. IdSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
  36. IdSMTP1.UseTLS := utUseExplicitTLS;
  37. try
  38.  try
  39.       idSMTP1.connect; // соединяемся
  40.       idSMTP1.Send(idmessage1);// отправляем
  41.       memo2.Lines.Add('Отправлено!');
  42.       Except on E:Exception do
  43.       begin
  44.       memo2.Lines.Add('Не отправлено!!!');
  45.       end;
  46.       end;
  47.       finally
  48.       if idsmtp1.Connected then idsmtp1.Disconnect; // разъединяем
  49.          idsmtp1.Free;
  50.          idmessage1.Free;
  51.          IdSSLIOHandlerSocketOpenSSL1.Free;
  52.          Memo2.Lines.Add('Двойной клик - скрыть');
  53.          button2.Enabled:=true;
  54.          button1.Enabled:=true;
  55.       end;
  56. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement