1

у нас в Jira есть некоторые проблемы, связанные с электронными письмами, отправленными из двух систем SAP. Я предполагаю, что письма не будут обрабатываться должным образом, потому что они имеют нулевое тело.

К сожалению, системы SAP, отправляющие электронные письма, не являются нашими, и мы не можем их контролировать и не можем инициировать отправку этих электронных писем.

Поэтому я задаюсь вопросом: есть ли программное обеспечение / онлайн-сервис, в который я могу указать источник сообщения электронной почты, а затем сделать так, чтобы сервис снова отправил именно это письмо?

Я знаю, что могут возникнуть проблемы с тем фактом, что SMTP, используемый службой / программным обеспечением, не отвечает за отправляющий домен, но я думаю, что мы могли бы справиться с этим.

Ура Йенс

1 ответ1

1

Вам не нужен онлайн-сервис для этого. SMTP довольно прост; потребовалось бы несколько строк Python для отправки сообщения с использованием smtplib (то же самое для большинства других языков программирования) и, возможно, даже меньше, чтобы сделать это вручную через telnet или netcat (но есть предостережения, поэтому я не рекомендую это).

Например, swaks - это существующая программа для прямого общения с SMTP-серверами. Обычно он просто запускает стандартное "тестовое сообщение", но вы можете предоставить свое собственное содержимое сообщения, например:

swaks --server foo.example.com --from "sender@foo" --to "recipient@bar" --data message.eml

Обратите внимание, что при доставке SMTP заголовки «From:/To:» не отображаются в данных сообщения; он имеет отдельный конверт «от» и «до» параметров, которые вы должны указать самостоятельно.

(Заголовки строго для отображения, в то время как конверт SMTP строго для доставки. Два не всегда совпадают, а на самом деле, было бы лучше , чтобы поставить свой собственный адрес --from в зависимости от того, как ваша система выполняет SPF и DMARC проверки anispam.)


Вот пример Python:

import smtplib

sender = "sender@foo"
rcpts = ["recipient@bar"]
data = open("message.eml", "r").read()

with smtplib.SMTP("foo.example.com") as conn:
    conn.sendmail(sender, rcpts, data)

Также есть Net::SMTP для Perl, PHPMailer для PHP, Lettre для Rust и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .