Gửi email tự động là một trong những ứng dụng thực tế hữu ích nhất: báo cáo hằng ngày, thông báo, nhắc nhở. Python có sẵn module smtplib để làm việc này.
Chuẩn bị
Bạn cần một tài khoản email hỗ trợ SMTP. Với Gmail và nhiều dịch vụ, nên tạo “mật khẩu ứng dụng” (app password) riêng thay vì dùng mật khẩu chính — an toàn hơn.
Gửi email văn bản
import smtplib
from email.mime.text import MIMEText
msg = MIMEText("Nội dung email của bạn")
msg["Subject"] = "Tiêu đề"
msg["From"] = "[email protected]"
msg["To"] = "[email protected]"
with smtplib.SMTP("smtp.example.com", 587) as server:
server.starttls() # mã hóa kết nối
server.login("[email protected]", "MAT_KHAU_UNG_DUNG")
server.send_message(msg)
Gửi cho nhiều người
nguoi_nhan = ["[email protected]", "[email protected]"]
msg["To"] = ", ".join(nguoi_nhan)
server.send_message(msg)
Email HTML
from email.mime.text import MIMEText
html = "Xin chào
Đây là email HTML
"
msg = MIMEText(html, "html")
Lưu ý bảo mật
- Không viết mật khẩu trực tiếp trong code — dùng biến môi trường.
- Dùng app password, không dùng mật khẩu chính.
- Luôn dùng
starttls()để mã hóa.
Kết hợp gửi email với module schedule, bạn có thể tạo hệ thống báo cáo tự động chạy đúng giờ mỗi ngày.
