Dạo này công việc nhiều, mình loay hoay mãi với việc gửi báo cáo hàng ngày. Cứ chiều lại phải ngồi lọc dữ liệu, copy-paste vào email rồi gửi đi, tốn cả khối thời gian. Tình cờ đọc được mấy bài về tự động hóa trên diễn đàn, mình thử mày mò với Python và Outlook xem sao. Kết quả khá bất ngờ, giờ chỉ cần chạy 1 script nhỏ là xong hết!
Cách làm của mình khá đơn giản, chủ yếu dùng thư viện pywin32 để tương tác với Outlook.
Các bước chính:
- Chuẩn bị file báo cáo (ví dụ: file Excel).
- Viết script Python để mở file báo cáo, lấy dữ liệu cần thiết.
- Sử dụng
pywin32để tạo một email mới trong Outlook, đính kèm file báo cáo (hoặc copy nội dung vào body email). - Thiết lập người nhận, tiêu đề, nội dung email.
- Tự động gửi email.
Mình có đoạn code mẫu đây, các bạn tham khảo nhé:
import win32com.client as win32
# Khởi tạo Outlook
outlook = win32.Dispatch('outlook.application')
# Tạo email mới
mail = outlook.CreateItem(0)
# Thiết lập thông tin email
mail.To = 'nguoinhan@example.com'
mail.Subject = 'Báo cáo hàng ngày - [Ngày hôm nay]'
mail.HTMLBody = 'Kính gửi Anh/Chị,
Đây là báo cáo hàng ngày...
'
# Đính kèm file (nếu cần)
# mail.Attachments.Add('C:\path\to\your\report.xlsx')
# Gửi email
mail.Send()
print('Đã gửi báo cáo!')Lưu ý: Các bạn cần cài đặt thư viện pywin32 trước bằng lệnh pip install pywin32.
Cách này giúp mình tiết kiệm rất nhiều thời gian và giảm thiểu sai sót do làm thủ công. Hy vọng chia sẻ này hữu ích cho các bạn nào đang gặp tình huống tương tự.