Yêu cầu thg 8 3, 2019 9:06 SA 1387 0 1
  • 1387 0 1
0

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

Chia sẻ
  • 1387 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")
thg 8 3, 2019 9:11 SA

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

thg 8 3, 2019 9:31 SA

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

Avatar Phan Huy Hoang @phanhoang
thg 8 3, 2019 9:46 SA

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

thg 8 3, 2019 9:51 SA

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

thg 8 17, 2019 9:45 SA

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

thg 8 18, 2019 10:45 SA

@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

thg 8 20, 2019 2:13 SA

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

1 CÂU TRẢ LỜI


Đã trả lời thg 8 3, 2019 11:06 SA
Đã được chấp nhận
+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)
Chia sẻ
thg 8 3, 2019 3:10 CH

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

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí