Надсилання пошти через HTTP-проксі за допомогою curl
Перевірте дозволи CONNECT, TLS для SMTP і окремі облікові дані проксі та поштової служби, перш ніж намагатися надіслати.
HTTP-проксі може передавати з'єднання SMTP, якщо він дозволяє тунель CONNECT до порту поштового сервера. Цей дозвіл важливіший за те, чи завантажується вебсторінка через той самий проксі.
Надсилання через SMTP з STARTTLS має такий загальний вигляд:
curl --proxy http://203.0.113.10:8080 --proxytunnel \
--url smtp://mail.example.com:587 --ssl-reqd \
--user mail-user \
--mail-from [email protected] \
--mail-rcpt [email protected] \
--upload-file message.eml
Адреси — це заповнювачі. Використовуйте поштову службу та відправника, на які маєте дозвіл. curl запитує пароль, коли в параметрі користувача вказано лише ім'я користувача. Файлу повідомлення потрібні відповідні поштові заголовки, порожній рядок і тіло; це не лише адреса одержувача.
Очікуйте окремих з'єднань і входів
Параметр тунелю HTTP змушує curl попросити в проксі з'єднання з призначенням SMTP. Проксі може вимагати власні облікові дані через параметри автентифікації проксі в curl. Потім служба SMTP автентифікує поштового користувача в цьому з'єднанні.
--ssl-reqd вимагає оновлення до TLS для цієї URL-адреси SMTP. Залишайте перевірку сертифікатів увімкненою для потрібного імені поштового хоста. Успішна автентифікація на проксі не доводить, що TLS або вхід у пошту вдадуться.
Багато універсальних HTTP-проксі обмежують порти CONNECT. Відмова для порту 587 може бути навмисною політикою. Запросіть схвалений маршрут замість того, щоб знову й знову пробувати сторонні порти або вважати обмеження збоєм.
Поштові служби також можуть застосовувати права відправника та правила надсилання після того, як маршрут запрацює. Читайте відповідь SMTP. Повідомлення, відхилене після автентифікації, потребує іншого виправлення, ніж тунель, відхилений до надходження привітання SMTP.