Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / ibec_smtp_SendMail по SSL/TLS протоколу шифрования / 5 сообщений из 5, страница 1 из 1
28.07.2018, 08:30
    #39680496
nofate2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ibec_smtp_SendMail по SSL/TLS протоколу шифрования
Доброе утро!

Стесняюсь спросить. Гугл ничего не выдал по соответствующему запросу.
Поэтому аккуратно поинтересуюсь:
ibec_smtp_SendMail умеет работать с SSL-smtp серверами или пока еще нет?
Я и сам понимаю, что вопрос из серии "стою на асфальте я в лыжи обутый ..." )))

Но дело в том, что все mail'ы-yandex'ы уже давно перевели свои smtp-сервера в категоричной форме только на SSL протокол,
а мои кривые ручки очень чешутся начать пользоваться такой удобной процедурой в IBE-скрипте, но не пойму, то ли я не знаю как правильно опции для нее прописывать, то ли она пока в своём коде не имеет реализации SSL/TLS протокола?
Подозреваю - последнее.

Если что не то спросил - прошу больно не бить и кирпичами не закидывать ))

Ну и может совсем ересь ещё спрошу: а в IBE-скрипт нельзя импортировать функции из других dll?... )
...
Рейтинг: 0 / 0
30.07.2018, 05:27
    #39680807
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ibec_smtp_SendMail по SSL/TLS протоколу шифрования
1. SSL/TLS поддерживаются с версии 2017.10.1

5. IBEBlock, ibec_smtp_SendMail function:

* Support of SSL (Secure Sockets Layer) and TLS (Transport Layer Security) implemented

* TLS is used automatically if SMTP server allows it, i.e. STARTTLS is presented in
response on EHLO command. If for some reason you don't need TLS while communicating with
smtp server - specify 'NoTLS' in the list of options.

* To use SSL you must specify 'SSL' or 'UseSSL' in the list of options. Ensure that smtp server
requires SSL connection, otherwise connection will not be established.

* There are some changes in authentication procedure. In previous version of ibec_smtp_SendMail
function AUTH LOGIN method was used by default. Now preferred method of authentication is
determined from response on HELO/EHLO command. It is also possible to specify it manually
using AUTHTYPE option. Following methods are supported: NONE, PLAIN, LOGIN, CRAM-MD5, AUTO.
AUTO is a default authentication method.

* ibec_smtp_SendMail returns NULL if message has been sent successfully. Otherwise it returns
string containing error message(s).

* Example 1. Using SSL:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Res = IBEC_SMTP_SENDMAIL('smtp.gmail.com', '445',  -- GMAIL requires SSL connection on this port 
                          'some.user@gmail.com',  'masterkey',
                          'some.user@gmail.com',
                          'another.user@gmail.com',
                          '',
                          '', 
                          'Subject of message',
                          'Text of message',
                          '',
                          '',
                          'encoding="UTF-8"; ContentType=plain; Priority=High; UseSSL', null);



* Example 2. Using TLS:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 Res = IBEC_SMTP_SENDMAIL('smtp.gmail.com', '25',  -- GMAIL allows TLS on this port; it will be used automatically 
                          'some.user@gmail.com',  'masterkey',
                          'some.user@gmail.com',
                          'another.user@gmail.com',
                          '',
                          '', 
                          'Subject of message',
                          'Text of message',
                          '',
                          '',
                          'encoding="UTF-8"; ContentType=plain; Priority=High; AuthType=LOGIN', null);




Требует наличия на компе библиотек OpenSSL - libeay32.dll и ssleay32.dll.

2. Импорта функций из dll нет.
...
Рейтинг: 0 / 0
04.09.2018, 00:21
    #39697455
nofate2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ibec_smtp_SendMail по SSL/TLS протоколу шифрования
IBExpert,
понял.
Спасибо большое за объяснение и подробный пример!
Буду пробовать.
...
Рейтинг: 0 / 0
05.09.2018, 22:45
    #39698766
nofate2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ibec_smtp_SendMail по SSL/TLS протоколу шифрования
IBExpert,
пробовал, используя пример.
Долго мучился пока не понял что он не работает на версии IBExpert 2016, а вот на версии 2018 уже работает. Какой-же я тупой!... )
.

В итоге нашел способ отправлять письма с технического smtp-сервера Яндекс, созданного специально для устройств типа сканеров, которые не умеют работать с SSL-серверами.

Для тех кому интересно, вот рабочий пример для старых версий IBExpert (ну и тем кому не хочется связываться с SSL):
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Res = IBEC_SMTP_SENDMAIL('smtp-devices.yandex.com',   -- Yandex's special SMTP-server for some devices 
                          '25', 
                          'some.user',  'masterkey',
                          'some.user@yandex.ru',
                          'another.user@mail.ru',
                          '',
                          '', 
                          ibec_AnsiStringToUTF8('Тестовый пример'),
                          ibec_AnsiStringToUTF8('Текст тестового примера'),
                          '',
                          '',
                          'encoding="UTF-8"; ContentType=plain; Priority=Normal; AuthType=LOGIN', null);

...
Рейтинг: 0 / 0
06.09.2018, 02:35
    #39698796
nofate2009
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ibec_smtp_SendMail по SSL/TLS протоколу шифрования
Примечание к вышеприведенном примеру не-SSL отправки почты:
Если создаете новую учетку в яндекс-почте для технической отправки сообщений с smtp-devices.yandex.com (как в приведенном выше примере), то имейте ввиду, что ваша новая учетная запись будет реплицирована с основного на вспомогательный smtp-сервер не сразу, а через какое-то время (30-60 минут). Другими словами для новой яндекс-учётки вышеприведенный пример заработает только через полчаса-час.
...
Рейтинг: 0 / 0
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / ibec_smtp_SendMail по SSL/TLS протоколу шифрования / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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