L'invio di mail con il pitone - come impostare Return-Path che è diverso dal 'Da' indirizzo

StackOverflow https://stackoverflow.com/questions/4177496

Domanda

cosa im cercando di fare è configurare il server di posta smail con Lamson (lamsonproject.org). Il suo lavoro molto bene, ma ho problemi con l'impostazione percorso di ritorno e per questo motivo, i rimbalzi stanno per 'From' indirizzo e quindi non raggiungere il mio server di posta.

Lamson utilizza pitoni smtplib per inviare posta fuori.

Il "parlare" tra il mio progetto e il mio server smtp va così:

send: 'ehlo xxx.mydomiain.com\r\n'
reply: '250-smtp.smtpserver.com\r\n'
reply: '250-PIPELINING\r\n'
reply: '250-SIZE 20000000\r\n'
reply: '250-VRFY\r\n'
reply: '250-ETRN\r\n'
reply: '250-STARTTLS\r\n'
reply: '250-XVERP\r\n'
reply: '250 8BITMIME\r\n'
reply: retcode (250); Msg: smtp.smtpserver.com
PIPELINING
SIZE 20000000
VRFY
ETRN
STARTTLS
XVERP
8BITMIME
send: u'mail FROM:<me@myotherdomain.com> size=352\r\n'
reply: '250 Ok\r\n'
reply: retcode (250); Msg: Ok
send: u'rcpt TO:<pleasebouncethis@myotherdomain.com>\r\n'
reply: '250 Ok\r\n'
reply: retcode (250); Msg: Ok
send: 'data\r\n'
reply: '354 End data with <CR><LF>.<CR><LF>\r\n'
reply: retcode (354); Msg: End data with <CR><LF>.<CR><LF>
data: (354, 'End data with <CR><LF>.<CR><LF>')
send: 'MIME-Version: 1.0\r\nTo: pleasebouncethis@myotherdomain.com\r\nSubject: Testing bounces\r\nSender: MAILER-DAEMON@mydomiain.com\r\nReturn-Path: MAILER-DAEMON@mydomain.com\r\nReply-To: MAILER-DAEMON@mydomain.com\r\nMessage-Id: 377b8dcdf661810d3dc73a4a01fe23b3\r\nFrom: me@myotherdomain.com\r\nContent-Type: text/plain; charset="utf-8"\r\nContent-Transfer-Encoding: base64\r\n\r\nc2RmZ2TDpGfDpGRsZsOkZ2xkZmc=\r\n.\r\n'
reply: '250 Ok: queued as E635D157D3\r\n'
reply: retcode (250); Msg: Ok: queued as E635D157D3
data: (250, 'Ok: queued as E635D157D3')
send: 'quit\r\n'
reply: '221 Bye\r\n'
reply: retcode (221); Msg: Bye
Done

così posso vedere, che il Return-Path è infatti nelle intestazioni.

Mentre alla ricerca di una risposta ho trovato questo: Impostazione Return-Path con Python sendmail per un messaggio MIME

Ultimo commento nella risposta è: Errori / rimbalzi / etc. dovrebbe andare al mittente busta, non l'indirizzo nel From:.

Quando si cerca su Busta mittente e come specificare, mi sono imbattuto in questo articolo wiki: http://en.wikipedia.org/wiki/Bounce_address

Questo elenca altri possibili parametri di intestazione come: percorso di ritorno, percorso inverso, busta, busta mittente, MAIL FROM, 2821-DA, l'indirizzo di ritorno, From_, Errori-a.

ho messo tutti coloro che nelle intestazioni di posta e - Voila - Ha funzionato

.

La mia domanda è ora - Devo veramente alla lista sempre così tante opzioni possibili per percorso di ritorno in intestazioni di posta? Sono stati i server di posta configurato per accettare uno o due di quei parametri, adesso? ci sono modi migliori per assicurarsi, che la posta viene restituito al mio server di posta, quando rimbalza?

Alan.

È stato utile?

Soluzione

Se sei invio mail, quindi non è necessario impostare una di queste intestazioni; il posto giusto per il mittente della busta è nel comando MAIL FROM:, così nel tuo caso:

MAIL FROM:<MAILER-DAEMON@mydomain.com>

Dal momento che questo comando è parte del protocollo SMTP, piuttosto che il messaggio stesso, il destinatario server di posta aggiunge un'intestazione Return-Path a beneficio di filtri o altre lavorazioni a valle, dove la busta SMTP originale è non disponibile. Vedere RFC2821 :

  

Quando il server SMTP di consegna rende la "consegna finale" di un   messaggio, inserisce una linea di ritorno percorso all'inizio della posta   dati. è richiesto Questo uso del percorso di ritorno; sistemi di posta DEVE sostegno   esso. La linea di ritorno-path conserva le informazioni nel    dal comando MAIL.

Altri suggerimenti

Il from_addr si utilizza nella funzione sendmail(from_addr, to_addrs, msg, mail_options=[], rcpt_options=[]) sarà quello quello che il set di get come Return-Path.

Il msg si invia con la funzione può contenere un'intestazione From: diversa che è la normale dall'indirizzo gente vedrà quando aprono l'email.

È possibile vedere questo nel smtplib documentazione . Citando la nota c'è:

  

Il from_addr e to_addrs parametri vengono usati per costruire busta di messaggio utilizzato dagli agenti di trasporto. sendmail non modifica le intestazioni dei messaggi in alcun modo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top