|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
Братцы, да понятно, что все знают UTL_MAIL, UTL_SMTP и даже где-то UTL_TCP. У меня тоже код работает по рассылке почты от корпоративного почтаря. Рассылается статус заказов пользователям облачного приложения ну и всякое такое деловое, неспамовское по сути изначально. Всё было хорошо, пока не тукнуло в mail.ru спам-блокировкой почты домена. Юноши там немного странные, но речь не о них. В итоге я даже немного благодарен этому не совсем адекватному с моей скромной точки зрения почтарю. Итак, поскольку во мне живёт программер, раззудилось добиться от четырёх источников gmail, ya.ru, mail.ru и mail-tester.com сердечного одобрения. От роботов конечно. В итоге получил по текстовым и письмам с одним вложением (pdf, docx) X-Spam-Status: score=-2.9 по первым трём и чистые 10/10 для последнего. Привожу код в надежде, что здесь полно умных людей и они толково ещё что-то скажут. Хотя я не уверен, что результат можно улучшить )) Прицепом замечу, что APEX_MAIL так себе пакетик. А за utl_encode и base64_encode нужен глаз да глаз: то недолив переноса строк, то перелив. 1. Пока у вас нет dkim, spf и dmarc на домене, можете не мечтать особо. 2. Если есть, то код получился примерно таким. Код: 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. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111.
PS Что касается mail.ru, то юноши эти могут запросто отреагировать на пару тычков в спам некоего вредного (или злонамеренного) пользователя и занести весь ваш домен в спам-лист. Также опция "Отписаться" напрочь игнорирует у них RFC, а просто направляет вашего отправителя в спам. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 13:37 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
А да, виноват, вот код хэша, не помню, откуда взял, но работает ))) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 13:43 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
Саша Сплинтер что-то скажут ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 13:53 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
-2-, Давайте свой код сюда, который решает поставленную задачу. У меня никаких претензий. С удовольствием буду пользоваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 13:55 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
Саша Сплинтер, здесь, на форуме, был более интересный пакет ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 14:05 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
Да здесь на форуме вообще полно всякого. Но я не нашёл. Просто мой код задачу решает какую я отписал. А сферически рассылать умеет полинтернета. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 14:16 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 14:23 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
Вообще супер! И чего там только нету! В этой тонне кода! Пару слов в защиту моей поделки (одна "д"). Моя поделка маленькая и решает, как я написал, вполне конкретную задачу 10 из 10. что я и назвал идеальной рассылкой. У автора в его шикарном пакете задачи другие. И если прогнать по описанным критериям рассылку с помощью его пакета, то результаты хорошие, но не отличные. Так что пишите ещё ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 14:54 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
Добавлю, что с этого у меня все и начиналось, когда вопрос встал не о мега-пакете (да мне такого и не написать), а о результатах тестов текста сообщения: -0.001 BAD_ENC_HEADER Message has bad MIME encoding in the header -2.019 BASE64_LENGTH_79_INF base64 encoded email part uses line length greater than 79 characters -1.105 MIME_HTML_ONLY Message only has text/html MIME parts Так что всё честно я написал про идеальную рассылку. Ну а код идеальный или нет, так это вы бизнесу, который оплачивает ваши расходы, расскажите, что есть идеальный код, а что есть решающий задачу код. За ссылку на пакет благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 15:10 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
Саша Сплинтер расскажите, что есть идеальный код, а что есть решающий задачу код. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 15:16 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
Вот ещё один достойный комментарий! Итак, а вы что предложите, чей чужой пакет проверить? Ну или может снизойдёте и укажете на причины Вашей столь нелестной оценки? В самом деле буду благодарен. Кушать не смогу теперь! Вам до 30 000 сообщений всего ничего осталось! Дерзайте! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 15:23 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
автор-2.019 BASE64_LENGTH_79_INF base64 encoded email part uses line length greater than 79 characters Вот эта ерунда получается вот здесь UTL_SMTP.write_data(l_mail_conn, UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(DBMS_LOB.substr(p_attach_blob, l_step, i * l_step + 1))) || UTL_TCP.crlf); Если не добавлять || UTL_TCP.crlf к UTL_RAW.cast_to_varchar2, то, поскольку UTL_ENCODE.base64_encode не оканчивает блок crlf, происходит объединение двух строк в одну. В мегапакете, автор которого в этой дискуссии отсутствует, этот кусок выглядит так Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 15:27 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
Саша СплинтерПросто мой код задачу решает какую я отписал Саша СплинтерМоя поделка маленькая и решает, как я написал, вполне конкретную задачу 10 из 10 Саша СплинтерТак что всё честно я написал про идеальную рассылку а что Вы от форумчан хотите? Восхищения? Или чтобы мы сели и написали код, решающий вашу задачу на 11 из 10? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 19:18 |
|
Идеальная рассылка почты из PL/SQL UTL_SMTP
|
|||
---|---|---|---|
#18+
merch Саша СплинтерПросто мой код задачу решает какую я отписал Саша СплинтерМоя поделка маленькая и решает, как я написал, вполне конкретную задачу 10 из 10 Саша СплинтерТак что всё честно я написал про идеальную рассылку а что Вы от форумчан хотите? Восхищения? Или чтобы мы сели и написали код, решающий вашу задачу на 11 из 10? Саша Сплинтер! Несите сюда пятилитровую бутылку хорошего 12 летнего виски! Будем обмывать успех. Никто не возражает? P.S. splinter = щепка, осколок, заноза :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 20:21 |
|
|
start [/forum/topic.php?fid=52&msg=39926265&tid=1881562]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
126ms |
get tp. blocked users: |
1ms |
others: | 273ms |
total: | 482ms |
0 / 0 |