Viết một tập lệnh để tự động gửi báo cáo email hàng ngày bằng Python

Viết một tập lệnh để tự động gửi báo cáo email hàng ngày bằng Python

Để 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

  1. Chỉnh sửa tập lệnh:
    • Thay thế your_email@example.com bằng địa chỉ email của bạn.
    • Thay thế your_password bằ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.com bằng địa chỉ email mà bạn muốn gửi báo cáo.
  2. 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.
  3. Chạy tập lệnh:
    • Lưu tập lệnh với đuôi .py và 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.
  4. Tự động hóa chạy tập lệnh:
    • Bạn có thể dùng cron trên Linux hoặc Task Scheduler trên Windows để tự động chạy tập lệnh này khi khởi động hệ thố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
  • 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

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *