0
Lỗi (name 'encoders' is not defined) trong python
Cả nhà cho e hỏi chút.e chay smtplib gửi mail bằng python thi bị báo lỗi (name 'encoders' is not defined)-AI chỉ giúp e sai đoạn nào được ko ạ.
import smtplib
filename = r"C:\users\mAITHANH\desktop\abc.exce"
attachment = open(filename, "rb")
1 CÂU TRẢ LỜI
+3
Bạn chỉ cần import thêm dòng này là được )
from email import encoders
Rảnh quá mình code lại luôn:
import smtplib
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email import encoders
fromaddr = "thuylinh15kx1@gmail.com"
toaddr = "phamhuuquang196@gmail.com"
msg = MIMEMultipart()
msg["From"] = fromaddr
msg["To"] = toaddr
msg["Subject"] = "Quang Hihi"
body = "kkkkk"
try:
msg.attach(MIMEText(body, "plain"))
filename = "/home/pham.huu.quang/PycharmProjects/Text2Speech/data/train_text/label.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=%s" %filename)
msg.attach(part)
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(fromaddr, "password123")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
except Exception as e:
print(e)
cam on ban nhieu nhe minh lam duoc rui.thank so much
Bạn phải cho xem full code, ít thì cũng phải cho xem code phần sử dụng smtplib chứ?
- ban check giúp mình
@MAINT đơn giản là chỗ
encoder
của bạn là cái gì, được import từ đâu, python đã báo exception rất rõ ràng rồi mà nhỉ:name 'encoders' is not defined
.@phanhoang filename = r"C:\users\mAITHANH\desktop\abc.exce" attachment = open(filename, "rb")
Vi ko phải dân IT chuyên nghiệp mới nghiên cứu python mong bạn chỉ rõ
@QuangPH .mINH set time để gửi mail như này mà sao không thấy bão lỗi gì nhưng cũng không thấy mail gửi đi.Bạn chi giúp mình xem sai ở đoạn nào nhỉ
@MAINT Bởi vì code kia sẽ chạy mãi trong vòng lặp while, có điều kiện để break while đâu bạn. Bạn phải cho if time ở trong while True
@QuangPH minh khong hieu y ban lam.ok thanks b