0

所以,我在 Google 的应用引擎上构建了这个网络服务,我希望它能够接收电子邮件。

问题是,我需要授权传入的邮件并根据TO字段确定目的地。这是为了让人们将服务集成到他们已经运行的任何电子邮件发送系统中。

至少我需要变量、密钥和目的地(这也是一个电子邮件地址):

一个例子可能是:

af922514-60bc-4595-956d-ec29e6351d8e,kristian@mide.dk@application.appspotmail.com

那是行不通的(我认为),有没有办法逃避第一个@,或者我应该完全以其他方式解决这个问题?

我考虑过对其进行基本编码:

af922514-60bc-4595-956d-ec29e6351d8e,kristian@mide.dk@application.appspotmail.com

变成这样:

YWY5MjI1MTQtNjBiYy00NTk1LTk1NmQtZWMyOWU2MzUxZDhlLGtyaXN0aWFuQG1pZGUuZGs=@application.appspotmail.com

我不确定电子邮件地址中是否允许使用结尾的“=”

对此有什么想法吗?

4

2 回答 2

1

首先,逗号是不行的,因为它会建议多个收件人,大多数邮件客户端会将逗号视为分隔符。

你可以做的是像这样格式化它:

some-var+recipient-addresse+domain.tld@someapp.appspotmail.com

当您的应用收到电子邮件时,您只需执行一个匹配所有内容的正则表达式,直到第一个 + 号。你有你的变量,然后匹配其余的直到一个@符号,用@替换最后一个+,你就有了电子邮件。

这也将允许收件人电子邮件包含 +,因为您只替换第一个和最后一个 + 符号。

于 2012-04-26T12:26:37.523 回答
0

由于+不属于主机名,您可以将最后一个替换+@

some-id,myinbox+tag+gmail.com@someapp.appspotmail.com

翻译为:

myinbox+tag@gmail.comsome-id

于 2012-04-26T10:49:08.337 回答