2011-05-25 10 views
8

Voy a enviar un montón de correos electrónicos similares a cabo a través de SMTP utilizando el siguiente fragmento de Python:¿Por qué las respuestas a mis mensajes SMTP enviados no se engarzan?

def send(from_, to, body): 
    server = smtplib.SMTP('smtp.gmail.com:587') 
    server.ehlo() 
    server.starttls() 
    server.ehlo() 
    server.login('[email protected]', password) 
    msg = '''\ 
From: %s 
To: %s 
Subject: %s 

%s''' % (from_, to.encode('utf-8'), "Hello", body.encode('utf-8')) 
    server.sendmail(from_, to, msg) 
    server.quit() 

Estos mensajes son los primeros mensajes de una conversación. Strangley, las respuestas a estos mensajes están sin enhebrar en la conversación del mensaje original.

La respuesta vuelve como un mensaje separado en mi bandeja de entrada, subject = "Re: Hello", sin vínculo con el original. (Muy de vez en cuando uno se estar cargado correctamente, lo que es aún más raro.)

he verificado que estos (des-roscado) respuestas tienen un Referencias: campo que se refiere a campo Identificador del mensaje del correo enviado, el cual fue generado automáticamente por GMail.

¿Alguna idea de lo que estoy haciendo mal?

Respuesta

6

Mire el encabezado References:. Contiene una cadena de los encabezados Message-ID: previos en el subproceso, y se utiliza generalmente para enhebrar. Por lo general, es una buena idea especificar el Message-ID: usted mismo, y si realiza un seguimiento de los que usó anteriormente, puede usarlos en el encabezado References: para forzar el enhebrado.

El Message-ID debe ser único en el mundo. A menudo se construyen como algo como esto, pero no es un requisito.

Message-ID: [email protected] 
+0

Gracias Michael - Intentaré agregar un encabezado Message-ID. Si están enhebrados correctamente, aceptaré tu respuesta. –

+0

@Michael: gracias. No hay mensajes anteriores: el único mensaje enviado a través de SMTP es el que inicia la conversación. El resto de la conversación ocurre en la interfaz web de gmail. –

+0

Desafortunadamente, veo que GMail está agregando automáticamente un ID de mensaje a mi mensaje cuando se envía a través de SMTP; si especifico explícitamente uno o no no cambia el mensaje saliente. Entonces, no creo que ese sea el culpable. ¿Alguna otra idea? –

Cuestiones relacionadas