从不同的电子邮件地址发送Outlook约会

时间:2018-01-31 01:12:22

标签: python email outlook calendar

尝试通过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'

1 个答案:

答案 0 :(得分:0)

Outlook / Exchange不会让您欺骗发件人相关的属性 - 会议邀请将作为当前的Outlook用户发送。