smtlib не отправляет электронное письмо на адрес электронной почты из списка столбцов кадра данных pandas
Дорогие
У меня есть Code Connect to Oracle DB, получаю запрос как Daraframe и отправляю электронное письмо получателю, который существует в столбце
Как я тестирую Когда я устанавливаю аргумент test_reciver на адрес электронной почты test_reciver Электронная почта получена, но когда я устанавливаю (получатель электронной почты) в столбец фрейма данных, электронная почта не получена
#send mail function
def send_email(subject,to,cc,body):
sender_email = 'test@test.com'
receivers = to
host = "bulkmail.test.com"
server = smtplib.SMTP(host)
msg = MIMEText(body)
msg['Subject'] = subject
msg['to'] = to
msg['cc'] = cc
server.sendmail(sender_email,to,msg.as_string())
server.quit()
query = "select * from sometable"
test_reciver = "myemail@test.com"
con = cx_Oracle.connect(user_db,password_db,dsn_tns,encoding="UTF-8", nencoding="UTF-8")
cc = 'emailcctest@test.com'
df = pd.read_sql_query(query,con, index_col=None).head(1)
df = df.reset_index()
for index, row in df.iterrows():
print(row['EMAIL'])
subject = 'please clarify your Workgroup in SDM '
to = row['EMAIL']
body = 'sample body'
send_email(subject, to, cc, body)
con.close()
1 ответ
это решается отправкой электронной почты как объекта с помощью send_message вместо sendmail для smtplib
#send mail function
def send_email(subject,to,cc,body):
host = "bulkmail.test.com"
server = smtplib.SMTP(host)
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = 'test@test.com'
msg['to'] = to
msg['cc'] = email_cc
serve.send_message(msg)
server.quit()