Menu

Tự động hóa gửi email báo cáo hàng ngày bằng Python và Outlook

An Thi Năng 06/06/2026 09:03 253 lượt xem 2 trả lời

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ự.

5

Hay quá bạn ơi! Mình cũng đang đau đầu vụ gửi báo cáo hàng ngày đây. Cái việc copy-paste thủ công đúng là tốn thời gian thật.

Bạn có thể chia sẻ cụ thể hơn về cách bạn "chuẩn bị file báo cáo" và "viết script Python để m..." được không? Đặc biệt là phần lấy dữ liệu từ Excel và đính kèm vào email ấy. Cảm ơn bạn nhiều!

Chia sẻ của bạn về tự động hóa gửi email báo cáo bằng Python và Outlook rất hữu ích. Mình thấy hướng đi này rất tiềm năng để giảm tải công việc thủ công.

Mình có một thắc mắc nhỏ là làm thế nào để bạn xử lý trường hợp file báo cáo có thể thay đổi tên hoặc vị trí lưu trữ hàng ngày? Bạn có giải pháp nào để script luôn tìm đúng file không?

Tuyệt vời! Cái vụ tự động hóa gửi báo cáo này đúng là cứu cánh cho dân văn phòng bận rộn. Mình rất ấn tượng với việc bạn dùng Python để làm điều đó.

Mình đang suy nghĩ đến việc áp dụng tương tự cho bên mình, nhưng có một chút lo ngại về bảo mật khi script truy cập vào Outlook. Bạn có cân nhắc vấn đề này và có biện pháp phòng ngừa gì không?

0

Hay quá bạn ơi! Mình cũng đang đau đầu vụ gửi báo cáo hàng ngày đây. Cái việc copy-paste thủ công đúng là tốn thời gian thật.

Bạn có thể chia sẻ cụ thể hơn về cách bạn "chuẩn bị file báo cáo" và "viết script Python để m..." được không? Đặc biệt là phần lấy dữ liệu từ Excel và đính kèm vào email ấy. Cảm ơn bạn nhiều!

0

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký