Hỏi về cách hẹn giờ gửi e-mail bằng Python?

Mình có một bài tập như thế này mong các bạn giúp đỡ.
Mình muốn viết một script để Outlook (IMAP) tự động gửi 4 meeting request vào 8h sáng hàng ngày, với các tiêu đề, thời gian meeting và người nhận khác nhau.

Ví dụ: Mình có một bảng Excel ntn.

Vào 8:00 (AM) ngày 2017/01/17: gửi 4 meeting với nội dung như sau:

Tiêu đề -Thời gian -Thời gian họp -Người nhận
Họp nội bộ 1 - 2017/01/17 9:00 - 120 (min) - [email protected]
Họp nội bộ 2 - 2017/01/17 12:00 - 120 (min) - [email protected],[email protected]
Họp nội bộ 3 - 2017/01/17 15:00 - 120 (min) - [email protected],
Họp nội bộ 4 - 2017/01/17 18:00 - 120 (min) - [email protected],[email protected]

Vào 8:00 (AM) ngày 2017/01/18: gửi 4 meeting với nội dung như sau:

Tiêu đề - Thời gian - Thời gian họp - Người nhận
Họp nội bộ 5 - 2017/01/18 9:00 - 120 (min) - [email protected]
Họp nội bộ 6 - 2017/01/18 12:00 - 120 (min) - [email protected]
Họp nội bộ 7 - 2017/01/18 15:00 - 120 (min) - [email protected], [email protected]
Họp nội bộ 8 - 2017/01/18 18:00 - 120 (min) - [email protected]

Bạn đang gặp vấn đề về hẹn giờ hay merge nội dung email.

Hiện tại mình đã làm được như dưới đây:

  • Mình đã lấy dữ liệu của từng cột bên Excel sang.và nối thành list như sau:
    Output:
    Tiêu đê = [‘Họp nội bộ 1’, ‘Họp nội bộ 2’, ‘Họp nội bộ 3’, ‘Họp nội bộ 4’, …,‘Họp nội bộ 8’]
    Thời gian = [‘2017/01/17 9:00’,‘2017/01/17 12:00’,‘2017/01/17 15:00’,‘2017/01/17 18:00’,…,‘2017/01/18 18:00’]
    Thời gian họp = [‘120’,‘120’,‘120’,‘120’,…,‘120’]
    Người nhận = [‘[email protected]’,‘[email protected]’,‘[email protected]’,‘[email protected]’,…,[email protected]’]

  • Sau đó mình dùng vòng lặp for để merge dữ liệu.

import win32com.client
oOutlook = win32com.client.Dispatch(“Outlook.Application”)
for i in range (8):
appt = oOutlook.CreateItem(1) # 1 - olAppointmentItem
appt.Start = Thời gian[i]
appt.Subject = Tiêu đê[i]
appt.Duration = Thời gian họp[i]
appt.Location = ‘Office - Room 132A’
appt.MeetingStatus = 1 # 1 - olMeeting; Changing the appointment to meeting #only after changing the meeting status recipients can be added
for i in range (lens(Người nhận)
appt.Recipients.Add(Người nhận[i])
appt.Save()
appt.Send()
print “Done”

Tuy nhiên, ví dụ hôm nay là ngày 17/01/2017, nếu mình Run code này, hệ thống sẽ tự động gửi cả meeting request của cả ngày 18/01/2017. Mình muốn của ngày nào thì chỉ gửi meeting của ngày đó thôi. Nghĩa là ngày 17 chỉ gửi 4 cái từ Meeting 1 đến Meeting 4. Sang ngày 18 mới gửi tiếp 4 cái còn lại.
P/s: Mình đã thử so sánh datetime.today().day với List ‘Thời gian’ nhưng chưa có kết quả. -_-

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?