尝试通过python发送Outlook日历邀请来自动化日历通知。我想从单独的电子邮件地址发送电子邮件。在python的电子邮件包中,您可以使用sendmail()来指定from_address和to_address;但是,我似乎无法通过win32com.client弄清楚如何为Outlook邀请做这件事。
我已经尝试过使用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()
当我将电子邮件发送给我的同事时,即使发件人不是我的电子邮件地址,他也会收到我个人电子邮件中的邀请,而不是发送者@example.com'
答案 0 :(得分:0)
Outlook / Exchange不会让您欺骗发件人相关的属性 - 会议邀请将作为当前的Outlook用户发送。