Как отправить электронное письмо из Google App Engine со случайным отправителем, не являющимся администратором приложения? - PullRequest
2 голосов
/ 11 августа 2011

В Google App Engine есть правило, разрешающее отправлять электронную почту только администраторам приложений. Есть ли обходной путь, который кто-либо использует для отправки писем с адресов, не являющихся администраторами?

Я создаю платформу B2B white label, и возможность маскировать адрес «ОТ» очень важна, не предоставляя моим клиентам права администратора.

Ответы [ 3 ]

4 голосов
/ 11 августа 2011

В документах также указывается:

Любой действительный адрес электронной почты для приема приложения (например, xxx@APP-ID.appspotmail.com).

Таким образом, вы можете создать sender адрес на основе этого и даже правильно перенаправить это электронное письмо обратно в ваше приложение, если кто-нибудь ответит на него.

2 голосов
/ 11 августа 2011

Также возможно отправлять электронную почту от имени вошедшего в систему пользователя, при условии, что пользователь использует учетную запись Google.

user = users.get_current_user()
message = mail.EmailMessage(sender=user.email())    

#Set other message components, such as message.body

try:
  message.send()
except:
  message.sender = #An APP-ID.appspotmail.com address, or Admin address
  message.send()
1 голос
/ 12 августа 2011

Если вам нужно, чтобы электронное письмо отображалось так, как если бы оно было отправлено пользователем, и когда на него был дан ответ, чтобы ответить на реальный адрес электронной почты этого пользователя, вы можете использовать reply_to.

user_name = 'Some Guy'
user_email = 'some.guy@whatever.com'
admin_email = 'no-reply@yourdomain.com'
from_email = '%s <%s>' % (user_name, admin_email)
reply_to = '%s <%s>' % (user_name, user_email)
mail.send_mail(from_email, to_email, subject, body, reply_to=reply_to)

Таким образом, получателю письма будет показано, что оно пришло от имени_пользователя, и если он ответит, его электронное письмо будет отправлено на адрес_пользователя.

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

С положительной стороны вы можете отправить любой адрес электронной почты, и большинство людей никогда не заметят, что оно пришло с адреса электронной почты администратора.

...