设计电子邮件“api”

时间:2012-04-26 10:32:28

标签: google-app-engine email email-integration incoming-mail

所以,我在谷歌应用引擎上构建这个网络服务,我希望它能收到电子邮件。

问题是,我需要在 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

我不确定电子邮件地址中是否允许结尾'='

对此有何想法?

2 个答案:

答案 0 :(得分:1)

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

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

  

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

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

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

答案 1 :(得分:0)

由于+不属于主机名,您可以将最后+替换为@,以便:

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

转换为:

带有myinbox+tag@gmail.com

some-id