|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Добрый день, коллеги!!! На новом сервере нужно настроить отправку почты из БД Oracle (пакет utl_smtp) через почтовый сервер smtp.office365.com:587 Сам сертификат с Офис365 скачал: $openssl s_client -connect smtp.office365.com:587 -starttls smtp А вот настроить wallet пакетом OWM (Oracle Wallet Manager) не получается. -:( Буду очень рад Вашей помощи!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 11:37 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Alexander Starshinin, Лазарь Каганович"У каждой аварии ошибки есть имя номер, фамилия и должность сообщение и контекст" Если хотите, чтобы Вам помогли, задайте вопрос правильно: Студентам, желающим помощи HOWTO :: Как правильно задавать вопросы Как мне оформить свое сообщение? 1) Полная постановка задачи (без сокращений) 2) Подготовьте тестовые данные, лучше в виде with например (не ваш случай): Код: plsql 1. 2. 3. 4. 5. 6.
2) Покажите что сделали, и что получили (не в пересказе) 3) Старайтесь не использовать screenshot, научитесь копировать и оформлять текст В этом случае Вам обязательно помогут ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 11:47 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Вячеслав, спасибо за Ваш ответ и ссылку! Я конечно уже читал эту документацию. Но настроить увы пока не получается...((( В том числе перечитал документацию по ссылке: https://docs.oracle.com/cd/B14098_01/core.1012/b13995/wallets.htm Вопрос - если у Вас есть опыт настройки Oracle Wallet Manager, то можем с Вами связаться по скайпу и на конкретике все обсудить? Буду очень рад Вашей помощи!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 11:59 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Спасибо, Вадим за Ваш ответ!!! Мне это все понятно конечно. Готов и буду рад на конкретике все обсудить. Например, по скайпу -:) Мои контактные данные доступны в профиле на форуме. Пример отправки почты: DECLARE c utl_smtp.connection; l_mailhost VARCHAR2 (64) := 'smtp.office365.com'; l_from VARCHAR2 (64) := 'avs@mobilesol.ru'; l_to VARCHAR2 (64) := 'avs@mobilesol.ru'; l_subject VARCHAR2 (64) := 'utl_smtp test'; crlf varchar2(2) := UTL_TCP.CRLF; vEhlo_Mes varchar2(3000); vReplies utl_smtp.replies; vReply utl_smtp.reply; BEGIN c := utl_smtp.open_connection( host => l_mailhost, port => 587, wallet_path => 'file:/home/oracle/wallets/', wallet_password => 'Test1234!', secure_connection_before_smtp => FALSE); vEhlo_Mes := 'utl_smtp.ehlo'; vReplies := utl_smtp.ehlo(c,'mobilesol.ru'); vReply := UTL_SMTP.STARTTLS(c,secure_host => 'outlook.com'); UTL_SMTP.EHLO(c, 'oracle'); utl_smtp.command( c, 'AUTH LOGIN'); utl_smtp.command( c, 'хеш на логин'); utl_smtp.command( c, 'хеш на пароль'); UTL_SMTP.mail (c, l_from); UTL_SMTP.rcpt (c, l_to); UTL_SMTP.open_data (c); UTL_SMTP.write_data (c, 'Date: ' || TO_CHAR (SYSDATE, 'DD-MON-YYYY HH24:MI:SS') || crlf); UTL_SMTP.write_data (c, 'From: ' || l_from || crlf); UTL_SMTP.write_data (c, 'Subject: ' || l_subject || crlf); UTL_SMTP.write_data (c, 'To: ' || l_to || crlf); UTL_SMTP.write_data (c, 'message test' || crlf); UTL_SMTP.close_data (c); UTL_SMTP.quit (c); exception when others then begin dbms_output.put_line('Code=' || To_Char(vReply.code) || 'Text - ' || vReply.text); dbms_output.put_line('Error =' || sqlcode || 'Text - ' || sqlerrm); end; END; / Результат: Error =-29024Text - ORA-29024: Certificate validation failure ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 12:07 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Alexander Starshinin Спасибо, Вадим за Ваш ответ!!! Мне это все понятно конечно. Готов и буду рад на конкретике все обсудить. Например, по скайпу -:) Мои контактные данные доступны в профиле на форуме. Пример отправки почты: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Результат: Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 12:16 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Alexander Starshinin Спасибо, Вадим за Ваш ответ!!! Мне это все понятно конечно. Готов и буду рад на конкретике все обсудить. Например, по скайпу -:) Мои контактные данные доступны в профиле на форуме . Вадим! Сообщите вопрошающему ваш ценник и реквизиты для оплаты очных консультаций. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 12:19 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Многократно обсуждали такие темы https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1309387&msg=21828368 В частности версия СУБД нужна актуальная для работы с современными вариантами TLS. 9i не подойдёт, 11g тоже ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 14:34 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Версия базы: Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production То, что пакет utl_smtp корректно работает только с версиями 11.2.0.4 и выше я в курсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 14:57 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Мутаген, спасибо за Ваш ответ! Не вижу по ссылке информации как правильно создать wallet, чтобы все работало((( ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 17:10 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Alexander Starshinin, автор... Не вижу по ссылке информации как правильно создать wallet, чтобы все работало((( ... Например так: How to Send Emails from APEX to an External Source Using Gmail’s SMTP Там про APEX, но APEX использует тот же UTL_SMTP Дополнительно, в wallet нужно положить сертификат office “Sending secure E-Mails out of the database: SSL/TLS + UTL_SMTP + OpenSSL + ACL + Wallet” авторThis is great documentation! Seriously it was near perfect for my environment. Here my additions. At the steps in “SSL certificates & Oracle Wallet” 1. To get the certificate, I’m using this website https://whatsmychaincert.com/?smtp.office365.com Enter the domain of the smtp server (ie. smtp.office365.com or smtp.gmail.com) in the box and click “Generate Chain” 2. Instead of using “owm”, i’m using the command line tool “orapki”, see this website for detail https://blog.pythian.com/oracle-and-amazon-simple-email-service/ Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 17:54 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Спасибо, Вадим! Сделал все как Вы написали. $ mkdir -p $ORACLE_HOME/owm/wallets/oracle $ orapki wallet create -wallet $ORACLE_HOME/owm/wallets/oracle/office365 ** Remember the password you set $ orapki wallet add -wallet $ORACLE_HOME/owm/wallets/oracle/office365 -trusted_cert -cert outlook.com.chain.crt $ orapki wallet display -wallet $ORACLE_HOME/owm/wallets/oracle/office365 Вот что отображается на выходе: $ orapki wallet add -wallet /home/oracle/smdb/wallets/office365 -trusted_cert -cert Office365_1.cer Oracle PKI Tool : Version 12.2.0.1.0 Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. Enter wallet password: Operation is successfully completed. [oracle@smorclin wallets]$ orapki wallet display -wallet /home/oracle/smdb/wallets/office365 Oracle PKI Tool : Version 12.2.0.1.0 Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. Enter wallet password: Requested Certificates: User Certificates: Trusted Certificates: Subject: CN=outlook.com,O=Microsoft Corporation,L=Redmond,ST=Washington,C=US Но ошибка в процедуре, что я привел в качестве примера все такая же -:( ORA-29024: Certificate validation failure ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 18:28 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Alexander Starshinin, Путь поправили? Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 22:28 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Я не использовал переменную среды $ORACLE_HOME, а wallet создал путем полного указания папки для его создания: $orapki wallet create -wallet /home/oracle/smdb/wallets/office365 И в команде соединения с сервером указал полный путь wallet_path c := utl_smtp.open_connection( host => l_mailhost, port => 587, wallet_path => 'file:/home/oracle/smdb/wallets/office365/', wallet_password => 'Test1234!', secure_connection_before_smtp => FALSE); Ошибка возникает при выполнении команды UTL_SMTP.STARTTLS(c,secure_host => 'outlook.com'); ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 23:20 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Vadim Lejnin Дополнительно, в wallet нужно положить сертификат office Vadim Lejnin автор Код: plsql 1. 2.
Ну и всё это имеет небольшое значение, поскольку Microsoft собирается запретить SMTP auth в пользу хипстерского OAuth ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2020, 00:39 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
Мутаген Vadim Lejnin Дополнительно, в wallet нужно положить сертификат office Vadim Lejnin пропущено... Ну и всё это имеет небольшое значение, поскольку Microsoft собирается запретить SMTP auth в пользу хипстерского OAuth Сертификат скачал и установил. Но ошибка к сожалению все такая же-:( не могу понять пока почему корневой сертификат в OWM находится в стадии [Empty] Может быть основная причина как раз в этом??? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2020, 14:35 |
|
Отправка почты через Офис365
|
|||
---|---|---|---|
#18+
наоборот, сертификат от outlook.com надо удалить из валлета ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2020, 21:00 |
|
|
start [/forum/topic.php?fid=52&fpage=48&tid=1881365]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 296ms |
total: | 472ms |
0 / 0 |