Tôi đã viết một tập lệnh viết một tin nhắn vào một tập tin văn bản và cũng gửi nó dưới dạng email. Mọi thứ diễn ra tốt đẹp, ngoại trừ email cuối cùng dường như là tất cả trong một dòng.Làm thế nào để ngắt dòng trong e-mail được gửi bằng cách sử dụng smtplib của Python?
Tôi thêm ngắt dòng theo \n
và nó hoạt động cho tệp văn bản nhưng không hoạt động đối với email. Bạn có biết nguyên nhân có thể là gì không?
Dưới đây là mã của tôi:
import smtplib, sys
import traceback
def send_error(sender, recipient, headers, body):
SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587
session = smtplib.SMTP('smtp.gmail.com', 587)
session.ehlo()
session.starttls()
session.ehlo
session.login(sender, 'my password')
send_it = session.sendmail(sender, recipient, headers + "\r\n\r\n" + body)
session.quit()
return send_it
SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587
sender = '[email protected]'
recipient = '[email protected]'
subject = 'report'
body = "Dear Student, \n Please send your report\n Thank you for your attention"
open('student.txt', 'w').write(body)
headers = ["From: " + sender,
"Subject: " + subject,
"To: " + recipient,
"MIME-Version: 1.0",
"Content-Type: text/html"]
headers = "\r\n".join(headers)
send_error(sender, recipient, headers, body)
Cảm ơn bạn rất nhiều. '\ r \ n' không hoạt động đối với tôi, nhưng'
'thì không. –