Cyberville Outcast
Cyberville Outcast

Reputation: 23

Trying to create an email script, yet not all recipients receive the email

The email sends and shows that it sends to both listed recipients, but only the first listed one actually receives the message. Strange since I don't notice anything particularly wrong with how I entered the addresses in (based on other examples I came across), so I'm looking for another perspective on the issue.

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders

email_user = '[email protected]'
email_send = '[email protected], [email protected]'
subject = 'Test'

msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = email_send
msg['Subject'] = subject

body = """Hello,

This is a test.

Thanks!"""
msg.attach(MIMEText(body,'plain'))

filename='dataset.csv'
attachment =open(filename,'rb')

part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment; filename= "+filename)

msg.attach(part)
text = msg.as_string()
server = smtplib.SMTP('smtp.office365.com',587)
server.starttls()
server.login(email_user,'password')

server.sendmail(email_user,email_send,text)
server.quit()

Upvotes: 1

Views: 43

Answers (1)

Arundeep Chohan
Arundeep Chohan

Reputation: 9969

 server.sendmail(email_user,email_send.split(','),text) and remove the space

Basically you only sent the first one and need to pass the other one.

Upvotes: 1

Related Questions