首页 > 解决方案 > 电子邮件地址中的“加号”在 Outlook 中转换为空格

问题描述

我正在开发的应用程序会自动发送带有 ICS 文件的电子邮件,用于会议邀请。这些电子邮件有一个带有+签名的回复地址。

这在谷歌日历和 gmail 中运行良好,但被spaceOutlook 取代。直到大约一个月前,这在 Outlook 中也运行良好。

我如何指示 Outlook 不要将其解释为 ? 以下是一些相关的截图:

在此处输入图像描述

在此处输入图像描述

标签: outlookicalendar

解决方案


经过几次反复试验,我发现只有.ics在电子邮件中有文件并且 Outlook 出于某种原因正在解码组织者的电子邮件地址时才会发生这种情况。因此,event+yi76iq@domain.com被转换为event yi76iq@domain.com.

.ics因此,我在准备日历活动时对电子邮件地址进行了编码。这是代码片段 - (我在django这里使用并且我曾经urlencode对电子邮件地址进行编码)。

from django.utils.http import urlquote
.
.
organizer = vCalAddress(u"mailto:{}".format(urlquote(communication_sending_email))) #<-- This is the only difference. I have encoded the email address.
organizer.params['cn'] = vText(organizer_full_name)
event.add('organizer', organizer)
cal = Calendar()
cal.add_component(event)

文件中的结果.icsevent%2Byi76iq%40domain.com. 我在Google 日历Outlook中都对此进行了测试,并且效果很好。


推荐阅读