2015-06-05 3 views
0

Есть ли способ в Google App Engine (Java) до получить адрес электронной почты администратора, который разрешен для отправки писем без жесткого кодирования где-нибудь?Как получить адрес электронной почты администратора системы Google?

В настоящее время я использую свойство Java System в appengine-web.xml. Что-то вроде загрузчика приложения тоже будет хорошо.

Справочная информация по этому вопросу: Я создаю приложение, которое студенты должны клонировать в своем собственном экземпляре GAE. Следовательно, усилия клонирования должны быть максимально сведены к минимуму.

ответ

2

Я верю, что вы ищете способ узнать идентификатор электронной почты, который действителен для отправки почты. Динамическое определение приложения можно использовать с помощью API-интерфейсов App Identity и динамически создавать идентификатор электронной почты отправителя.

https://cloud.google.com/appengine/docs/java/appidentity/

После того как вы AppID вы можете построить электронный идентификатор, как [email protected] где «строка» может быть что угодно, и «APPID» является AppID вы получили от идентичности API.

+1

Спасибо за Anser. Теперь я использую следующий однострочный слой: 'msg.setFrom (новый InternetAddress (« admin @ »+ SystemProperty.applicationId.get() +« .appspotmail.com »)), который приводит к _admin @ .appspotmail.com_ , Использование 'ApiProxy.getCurrentEnvironment(). GetAppId()' приводит к _admin @ e ~ .appspotmail.com_, но я не знаю почему. – Lukas

0

Формат отправки электронной почты, похоже, изменилась (по состоянию на 2016 год), и поэтому я хотел бы использовать:

msg.setFrom(new InternetAddress(SystemProperty.applicationId.get() + "@appspot.gserviceaccount.com")); 
Смежные вопросы