试图通过发送Outlook日历通过Python邀请自动日历通知。 我想从一个单独的电子邮件地址发送电子邮件。 在python的email包,你可以使用sendmail()来指定FROM_ADDRESS和to_address; 不过,我似乎无法弄清楚如何经由win32com.client展望邀请做到这一点。
使用的iCalendar包自动化这个过程中,我已经试过了,但附加到电子邮件中的ics文件“是无法识别”。
使用win32com.client,我已经能够产生,我想在我的邀请一切; 但是,我仍然无法弄清楚如何指定发件人。
import win32com.client as win32
from datetime import datetime
import pytz
tz = pytz.timezone("US/Pacific")
start_time = tz.localize(datetime(2018, 2, 01, 16))
subject = 'The Best Meeting Ever'
duration = 30
location = 'Home'
recipient = 'recipient@example.com'
sender = 'sender@example.com'
outlook = win32.Dispatch('outlook.application')
# CreateItem: 1 -- Outlook Appointment Item
appt = outlook.CreateItem(1)
# set the parameters of the meeting
appt.Start = start_time
appt.Duration = duration
appt.Location = location
appt.Subject = subject
appt.MeetingStatus = 1 # this enables adding of recipients
appt.Recipients.Add(recipient)
appt.Organizer = sender
appt.ReminderMinutesBeforeStart = 15
appt.ResponseRequested = True
appt.Save()
appt.Send()
当我发送邮件到我的同事,即使发送者是不是我的电子邮件地址,他是从我个人的电子邮件收到邀请,而不是“sender@example.com”