thru sent mail from example python smtp smtplib

sent - smtplib python install



Correos no enviados a personas en CC (3)

Tengo el siguiente script para enviar correos usando python

import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText import os FROMADDR = "[email protected]" PASSWORD = ''foo'' TOADDR = [''[email protected]'', ''[email protected]''] CCADDR = [''[email protected]'', ''[email protected]''] # Create message container - the correct MIME type is multipart/alternative. msg = MIMEMultipart(''alternative'') msg[''Subject''] = ''Test'' msg[''From''] = FROMADDR msg[''To''] = '', ''.join(TOADDR) msg[''Cc''] = '', ''.join(CCADDR) # Create the body of the message (an HTML version). text = """Hi this is the body """ # Record the MIME types of both parts - text/plain and text/html. body = MIMEText(text, ''plain'') # Attach parts into message container. msg.attach(body) # Send the message via local SMTP server. s = smtplib.SMTP(''server.com'', 587) s.set_debuglevel(1) s.ehlo() s.starttls() s.login(FROMADDR, PASSWORD) s.sendmail(FROMADDR, TOADDR, msg.as_string()) s.quit()

Cuando uso el script, veo que el correo se entrega tanto a toaddr1 como a toadd2 Sin embargo, ccaddr1 y ccaddr2 no reciben el correo en absoluto.

Curiosamente, cuando toaddr1 los correos recibidos por toaddr1 y toadd2 , muestra que ccaddr1 y ccaddr2 están presentes en CC.

¿Hay algún error en el script? Inicialmente pensé que esto podría ser un problema con mi servidor de correo. Lo probé con Gmail y vi el mismo resultado. Es decir, no importa si es una cuenta en mi servidor de correo actual o mi cuenta de Gmail en el CC, el destinatario no recibirá el correo, aunque las personas en el campo "Para" lo reciban correctamente y tengan las direcciones correctas mencionadas en el campo CC


Creo que necesitarás poner el CCADDR con el TOADDR al enviar el correo:

s.sendmail(FROMADDR, TOADDR+CCADDR, msg.as_string())

Está agregando correctamente las direcciones a su mensaje, pero también necesitará las direcciones cc en el sobre.

De los docs :

Nota Los parámetros from_addr y to_addrs se utilizan para construir el sobre del mensaje utilizado por los agentes de transporte.


Especificó las entradas de CC en el mensaje, pero no en el sobre. Es su trabajo asegurarse de que el mensaje también se envíe a las entradas CC y BCC.


I got below error with TOADDR+CCADDR => TypeError: can only concatenate str (not "list") to str I did below changes and it worked for me. It sends email with attachment to - "To", "Cc" & "Bcc" successfully. toaddr = [''mailid_1'',''mailid_2''] cc = [''mailid_3'',''mailid_4''] bcc = [''mailid_5'',''mailid_6''] subject = ''Email from Python Code'' fromaddr = ''sender_mailid'' message = "/n !! Hello... !!" msg[''From''] = fromaddr msg[''To''] = '', ''.join(toaddr) msg[''Cc''] = '', ''.join(cc) msg[''Bcc''] = '', ''.join(bcc) msg[''Subject''] = subject s.sendmail(fromaddr, (toaddr+cc+bcc) , message)