Reproduzir um email problemático com base na fonte de email

1

Nós temos alguns problemas em Jira relacionados a e-mails enviados de dois sistemas SAP. Os e-mails não serão processados ​​corretamente, eu suponho porque eles têm um corpo nulo.

Infelizmente, os sistemas SAP que enviam os e-mails não são nossos e não temos controle sobre eles e não podemos acionar o envio desses e-mails.

Portanto, eu estou querendo saber: existe um software / serviço on-line para o qual eu posso fornecer a fonte de uma mensagem de e-mail e, em seguida, ter o serviço enviar exatamente esse e-mail novamente?

Estou ciente de que haveria problemas com o fato de que o SMTP usado pelo serviço / software não é responsável pelo domínio de envio, mas acho que poderíamos lidar com isso.

Felicidades Jens

Jens Kisters
fonte

Respostas:

1

Você não precisa de um serviço online para isso. O SMTP é bastante simples; seriam necessárias algumas linhas do Python para enviar uma mensagem usando o smtplib (o mesmo para a maioria das outras linguagens de programação), e provavelmente ainda menos para fazer isso manualmente telnetou netcat(mas há advertências, então eu não recomendo isso).

Por exemplo, swaks é um programa existente para falar diretamente com servidores SMTP. Normalmente ele apenas dispara uma "mensagem de teste" enlatada, mas você pode fornecer seu próprio conteúdo de mensagem assim:

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

Observe que a entrega SMTP não analisa os cabeçalhos "De: / Para:" nos dados da mensagem; ele tem um envelope separado 'de' e 'para' parâmetros que você precisa fornecer.

(Cabeçalhos são estritamente para exibição, enquanto envelope SMTP é estritamente para entrega. Os dois nem sempre têm que combinar, e de fato, pode ser melhor fornecer seu próprio --from endereço dependendo de como seu sistema executa verificações anispam SPF e DMARC. )


Aqui está um exemplo do 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)

Da mesma forma, há Net :: SMTP para Perl, PHPMailer para PHP, Lettre para Rust, etc.

grawity
fonte
Oi Grawity, Obrigado pela sua resposta. Eu recebo swaks para enviar e-mails, mas estou tendo problemas para enviar meu e-mail com problema. Eu acho que eu tenho meu e-mail no formato errado, quando eu enviá-lo, é só pegar a fonte. A origem é um arquivo de texto que contém os cabeçalhos e o email codificado em base64. Atenciosamente Jens
Jens Kisters
É exatamente o mesmo formato usado pelo SMTP (também conhecido como formato RFC2822). Você precisa ser mais específico sobre o que você está tendo problemas ...
Grawity