Để tạo một tập lệnh Python tự động gửi báo cáo email hàng ngày, bạn có thể sử dụng thư viện smtplib để gửi email và schedule để lập lịch. Dưới đây là một tập lệnh cơ bản và hướng dẫn từng bước để thiết lập nó.
1. Cài đặt các thư viện cần thiết
Trước tiên, bạn cần cài đặt các thư viện cần thiết nếu chưa có chúng:
pip install schedule
2. Viết tập lệnh Python
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import schedule
import time
def send_email():
# Cấu hình thông tin email
from_email = "your_email@example.com"
from_password = "your_password"
to_email = "recipient@example.com"
# Tạo email
msg = MIMEMultipart()
msg['From'] = from_email
msg['To'] = to_email
msg['Subject'] = "Báo cáo hàng ngày"
# Nội dung email
body = "Đây là báo cáo hàng ngày của bạn."
msg.attach(MIMEText(body, 'plain'))
# Kết nối với server SMTP và gửi email
try:
server = smtplib.SMTP('smtp.gmail.com', 587) # Sử dụng Gmail SMTP server
server.starttls() # Bắt đầu mã hóa
server.login(from_email, from_password) # Đăng nhập vào email của bạn
text = msg.as_string()
server.sendmail(from_email, to_email, text) # Gửi email
server.quit() # Đóng kết nối
print("Email đã được gửi thành công!")
except Exception as e:
print(f"Đã có lỗi xảy ra: {e}")
# Lập lịch gửi email hàng ngày vào lúc 8 giờ sáng
schedule.every().day.at("08:00").do(send_email)
# Chạy vòng lặp vô hạn để thực thi lịch trình
while True:
schedule.run_pending()
time.sleep(1)
3. Hướng dẫn thiết lập
- Chỉnh sửa tập lệnh:
- Thay thế
your_email@example.combằng địa chỉ email của bạn. - Thay thế
your_passwordbằng mật khẩu email của bạn (hoặc mật khẩu ứng dụng nếu bạn sử dụng xác thực 2 bước). - Thay thế
recipient@example.combằng địa chỉ email mà bạn muốn gửi báo cáo.
- Thay thế
- Cấp quyền truy cập ứng dụng cho tài khoản Gmail:
- Nếu bạn sử dụng Gmail, bạn cần phải cấp quyền truy cập ứng dụng ít an toàn hoặc tạo mật khẩu ứng dụng để có thể đăng nhập thông qua Python.
- Truy cập Link này để tạo mật khẩu ứng dụng nếu bạn sử dụng xác thực 2 bước.
- Chạy tập lệnh:
- Lưu tập lệnh với đuôi
.pyvà chạy nó. Tập lệnh sẽ tự động gửi email hàng ngày vào thời gian bạn đã định nghĩa.
- Lưu tập lệnh với đuôi
- Tự động hóa chạy tập lệnh:
- Bạn có thể dùng
crontrên Linux hoặcTask Schedulertrên Windows để tự động chạy tập lệnh này khi khởi động hệ thống.
- Bạn có thể dùng
4. Thiết lập tự động chạy trên hệ điều hành
- Linux (dùng cron):
- Mở terminal và nhập
crontab -eđể mở crontab. - Thêm dòng sau vào cuối file:
@reboot /usr/bin/python3 /path/to/your_script.py
- Mở terminal và nhập
- Windows (dùng Task Scheduler):
- Mở Task Scheduler.
- Tạo một nhiệm vụ mới và cấu hình để chạy tập lệnh Python khi khởi động.
Vậy là bạn đã thiết lập thành công một tập lệnh Python tự động gửi báo cáo email hàng ngày. Bạn có thể tùy chỉnh thêm nội dung email hoặc lịch trình gửi theo nhu cầu của mình.
Theo DOPIMART tham khảo

