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)