Разработка электронного письма "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