powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отправка почты
14 сообщений из 14, страница 1 из 1
Отправка почты
    #39884418
patrick1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Занялся тривиальной задачей по отправки почты через приложение, но что-то пошло не так, написал просто
Код: pascal
1.
2.
3.
4.
5.
6.
      if IdSMTP.Connected then  IdSMTP.Disconnect;
      IdSMTP.Host := 'smtp.mail.ru';
      IdSMTP.Port := 465;
      IdSMTP.UserName := 'mylogin';
      IdSMTP.Password := 'mypassword';
      IdSMTP.Connect;


Indy версии 10.6.2.5341
предварительно скачав и положив в папку с программой библиотеки OpenSSL и связал IDSMTP c SSL сокетом в результате исключение - Could not load SSL library
может есть у кого совет? Заранее спасибо.
...
Рейтинг: 0 / 0
Отправка почты
    #39884419
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
01.11.2019 17:32, patrick1968 пишет:
> предварительно скачав и положив в папку с программой библиотеки OpenSSL

это вам не ЭТО!
версия OpenSSL должна подходить к версии индюков.
иначе имеешь то, что имеешь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отправка почты
    #39884437
patrick1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В сети на форуме вычитал, что под XE можно без lib и то что порт лучше ставить не 465 а 587 - попытался, законнектился, но при отправке ошибка - просит SSL или TLS? так какие всё-таки библиотеки лучше брать?
...
Рейтинг: 0 / 0
Отправка почты
    #39884441
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
01.11.2019 18:28, patrick1968 пишет:
> так какие всё-таки библиотеки лучше брать?

те, которые идут в комплекте с индюками.
если у тебя их нету, то бери комплектом и то и другое с
https://indy.fulgan.com/ZIP/

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Отправка почты
    #39884457
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот с этим: Win32OpenSSL-1_0_2q.exe точно работает еще. У меня. 32 разрядное приложение. Еще потребовалось вот это vcredist_x86.exe, но это, вроде бы, должно быть в дистрибутиве, не помню. Когда ставлю руками библиотеки просто в каталог экзешника, то хватает libeay32.dll, ssleay32.dll и вот это, если вдруг еще нет в системе: msvcr120.dll.
...
Рейтинг: 0 / 0
Отправка почты
    #39884606
patrick1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К smtp.mail.ru коннекция есть, но вот при отправке простого сообщения
...
Рейтинг: 0 / 0
Отправка почты
    #39884607
patrick1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Применил по наитию IdSASLLogin и IdUserPassProvider но тоже безуспешно, ошибка что неверный header
...
Рейтинг: 0 / 0
Отправка почты
    #39884610
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё, что я применял в защищенном дополнительно относительно обычного подключения с mail.ru - это:

Код: pascal
1.
2.
3.
4.
5.
    Fidsmtp.IOHandler :=  TIdSSLIOHandlerSocketOpenSSL.Create(fidsmtp); 
    (Fidsmtp.iohandler as TIdSSLIOHandlerSocketOpenSSL).SSLOptions.Method := sslvTLSv1;
    (Fidsmtp.iohandler as TIdSSLIOHandlerSocketOpenSSL).SSLOptions.Mode := sslmUnassigned;
    (Fidsmtp.iohandler as TIdSSLIOHandlerSocketOpenSSL).defaultport := 0;
    fidsmtp.UseTLS := utUseImplicitTLS;



ну, и Uses idssl,idsslopenssl
...
Рейтинг: 0 / 0
Отправка почты
    #39884615
patrick1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а полную текстовку настройки подключения можно увидеть? Спасибо
...
Рейтинг: 0 / 0
Отправка почты
    #39884617
patrick1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а то у меня ничего не поменялось - результат тот же
...
Рейтинг: 0 / 0
Отправка почты
    #39884628
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
patrick1968,


меня лет пять назад просили помочь разобраться c "как отправлять почту на mail.ru&", они тогда как раз запретили "совсем без ssl".

Только я сделал не с Indy, а с Synapse.
Synapse на mail.ru

Инсталлировать никакие компоненты не нужно.
Нужно просто скачать исходники: http://sourceforge.net/p/synalist/code/HEAD/tarball?path=/trunk

Затем распаковать их в удобное место, а путь к исходникам добавить в Library Path Delphi.

Далее, нужно загрузить библиотеку Open SSL: http://slproweb.com/download/Win32OpenSSL_Light-1_0_1i.exe
и либо инсталлировать её в системную директорию , либо взять из инсталляции пару файлов
libeay32.dll
ssleay32.dll
- и положить и в тот же каталог, где будет размещаться приложение.

Все, можно работать.

Чтобы включить SSL, в приложении в uses следует добавить один файл:

ssl_openssl

Чтобы отправлять письма по SMTP, в uses нужно добавить файл SMTPSend.
Для работы понадобятся еще synautil, MIMEPart и MIMEMess.


Для отправки письма можно воспользоваться моей процедурой:

procedure SendMail(const aSMTPHost, aTheme, aTo, aFrom, aTextBody,
aHTMLBody, aLogin, aPassword: string; aUseSSL: Boolean);

Пример (отправляем на data-basis@mail.ru от имени data-basis@mail.ru) :

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  SendMail(
      'smtp.mail.ru'
    , 'Тема письма'
    , 'patrick1968@mail.ru'
    , 'patrick1968@mail.ru'
    , 'Текст письма'
    , ''
    , 'patrick1968' // Логин
    , 'пароль' // Пароль
    , True
    );



Пример отправки на patrick1968@mail.ru реализован в тестовом в приложении, прикрепленном к письму.

...
Рейтинг: 0 / 0
Отправка почты
    #39884630
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
patrick1968,

пардон, все ссылки битые. Если надо, пришлю на почту проект вместе с .dll's, а исходники синапсов ты сам найдешь.
...
Рейтинг: 0 / 0
Отправка почты
    #39884633
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полную трудно собрать в кучу из почтовой программы, но сейчас глянул другой вариант, простенький класс отправки почты, так он тоже c smtp.mail.ru отправил сейчас без проблем , тут только 2 функции интересны (адаптировал как мог, выкинул всё лишнее по максимуму):

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    
uses
  .... IDSSLOPENSSL,IdExplicitTLSClientServerBase,IdIOHandlerStack; 
......
procedure TEmailSender.SetConnected(const Value: boolean);
begin
  if Value then 
  begin
    fsmtp.Host := 'smtp.mail.ru';
    fsmtp.Port := 465;
    fsmtp.username := 'мойадрес@mail.ru';
    fsmtp.password := 'паролькакойто';

    Fsmtp.IOHandler :=  TIdSSLIOHandlerSocketOpenSSL.Create(fsmtp);
    (Fsmtp.iohandler as TIdSSLIOHandlerSocketOpenSSL).SSLOptions.Method := sslvTLSv1;
    (Fsmtp.iohandler as TIdSSLIOHandlerSocketOpenSSL).SSLOptions.Mode := sslmUnassigned;
    (Fsmtp.iohandler as TIdSSLIOHandlerSocketOpenSSL).defaultport := 0;
    fsmtp.UseTLS := utUseImplicitTLS;

    fSMTP.Connect;
  end
  else fSMTP.Disconnect
end;


и сама отправка:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Procedure TEmailSender.SendMail;
Begin
    With FMsgSend Do {TIDMessage}
    Begin
      Priority := mpNormal;
      From.Name := 'я';
      from.Address := 'мойадрес@mail.ru';
      ReplyTo.EMailAddresses := From.Text;
      Recipients.EMailAddresses := 'кому@куда.ru';
      Subject := 'тест';
      Body.Text := 'А привет!';

      if AttachFile>'' then TIDAttachmentFile.create(MessageParts,AttachFile);
    End;

    FSMTP.AuthType := satDefault;

    fsmtp.ConnectTimeout := 60000;
    fsmtp.ReadTimeout := 60000;

    SetConnected(true);
    FSMTP.Send(FMsgSend);

End;



Вроде, ничего интересного больше не упустил.
...
Рейтинг: 0 / 0
Отправка почты
    #39884718
patrick1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо попробую
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отправка почты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]