将多个电子邮件地址传递到 exchangelib

Pass multiple email addresses into exchangelib

我将 exchangelib 与 Django 1.11 结合使用来管理日历项目。谁能提供有关将电子邮件传递到我的 views.py 文件中 CalendarItem 的 required_attendees 的最佳方式的任何指导?

required_attendees = [Attendee(mailbox=Mailbox(email_address='user1@example.com'),
response_type='Accept')]

邮件数量可以从零到多,例如:

 required_attendees = [Attendee(mailbox=Mailbox(email_address='user1@example.com'),
response_type='Accept'),
Attendee(mailbox=Mailbox(email_address='user2@example.com'),
response_type='Accept')]

目前我正在根据包含所有电子邮件地址的列表的长度使用 IF 语句重复代码。它有效,但显然不是正确的方法,而且是非常不优雅的代码。

任何指导将不胜感激!干杯

在 Python 中,您可以创建一个附加到的中间列表,或者使用列表理解。 required_attendees 也将纯电子邮件地址作为字符串。所以你可以这样做:

required_attendees = list(your_collection_of_email_addresses)

# or as a list comprehension:

required_attendees = [
    Attendee(mailbox=Mailbox(email_address=e), response_type='Accept')
    for e in your_list_of_email_addresses
]