Google App Engine的规则只允许应用管理员发送电子邮件。 是否有一个解决方法,任何人都使用从非管理员地址发送电子邮件?
我正在建立一个B2B白标平台,能够屏蔽“FROM”地址非常重要,而不会让我的客户获得管理员访问权。
答案 0 :(得分:4)
docs也声明:
该应用的任何有效电子邮件接收地址(例如xxx@APP-ID.appspotmail.com)。
因此,您可以根据该地址组成sender
地址,如果有人回复,您甚至可以将该电子邮件正确地发送回您的应用。
答案 1 :(得分:2)
也可以代表登录用户发送电子邮件,假设用户使用的是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()
答案 2 :(得分:1)
如果您需要将电子邮件显示为由用户发送,并且在回复时回复该用户的实际电子邮件地址,则可以使用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)
对于接收电子邮件的人来说,它似乎来自user_name,如果他们回复,那么他们的回复电子邮件将被发送到user_email。
这种方法的主要缺点是,如果有人仔细查看他们收到消息的地址,他们会看到管理员电子邮件地址,但大多数电子邮件客户端更突出地显示该名称。
在正面,您可以发送任何电子邮件地址,大多数人都不会注意到它来自管理员电子邮件地址。