Asked Aug 3rd, 9:06 AM 58 0 1
  • 58 0 1
0

Lỗi (name 'encoders' is not defined) trong python

Share
  • 58 0 1

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")
Aug 3rd, 9:11 AM

Bạn phải cho xem full code, ít thì cũng phải cho xem code phần sử dụng smtplib chứ?

0
| Reply
Share
Aug 3rd, 9:31 AM

loi.jpg - ban check giúp mình

0
| Reply
Share
Phan Huy Hoang @phanhoang
Aug 3rd, 9:46 AM

@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. 😶

0
| Reply
Share
Aug 3rd, 9:51 AM

@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õ

0
| Reply
Share
Saturday, 9:45 AM

@QuangPH LOI TIME.jpg.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ỉ

0
| Reply
Share
Sunday, 10:45 AM

@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

0
| Reply
Share
Tuesday, 2:13 AM

@QuangPH minh khong hieu y ban lam.ok thanks b

0
| Reply
Share

1 ANSWERS


Answered Aug 3rd, 11:06 AM
Accepted
+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 = "[email protected]"
toaddr = "[email protected]"

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)
Share
Aug 3rd, 3:10 PM

cam on ban nhieu nhe minh lam duoc rui.thank so much

0
| Reply
Share