Разработка электронного письма "api"

Итак, я создаю этот веб-сервис на движке приложений Googles, и я хотел бы, чтобы он получал электронные письма.

Дело в том, что мне нужно авторизовать входящие письма и определить адресата, основываясь только на поле 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 ответа

Решение

Во-первых, запятая будет запрещена, так как она предполагает несколько получателей, большинство почтовых клиентов увидят запятую как разделитель.

Что вы можете сделать, это отформатировать его так:

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

Когда ваше приложение получает электронное письмо, вы просто делаете регулярное выражение, соответствующее всему, до первого знака +. Там у вас есть переменная, затем сопоставьте остальные до знака @, замените последний + на @, и у вас есть электронная почта.

Это также позволит получателю электронной почты содержать +, так как вы заменяете только первый и последний знак +.

Поскольку + не принадлежит имени хоста, вы можете заменить последний + с @ чтобы:

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

переводится как:

myinbox+tag@gmail.com с some-id

Другие вопросы по тегам