Сначала извиняюсь, если вы просто хотите указать мне на ответ на этот вопрос. Я искал, или я не получаю его, или моя проблема другая. Я пытаюсь создать форму для веб-пользователей на моем сайте, чтобы легко связаться со мной. Я не хочу, чтобы они вошли в систему или создали учетную запись для них на моем сайте. Я просто хочу иметь возможность заполнить форму; имя, адрес электронной почты, тему и сообщение, и нажмите отправить отправить его мне. Я супер админ домена Google Apps.Отправка электронной почты от имени пользователя Google Apps (репоста) с помощью GAE
main.py
# [START imports]
import os
import urllib
from google.appengine.api import users
from google.appengine.ext import ndb
from google.appengine.api import mail
import jinja2
import webapp2
JINJA_ENVIRONMENT = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
extensions=['jinja2.ext.autoescape'],
autoescape=True)
# [END imports]
# [START main_page]
class MainPage(webapp2.RequestHandler):
def get(self):
template = JINJA_ENVIRONMENT.get_template('index.html')
self.response.write(template.render())
def post(self):
name = self.request.get('name')
message = mail.EmailMessage(to = '[email protected]',
sender = self.request.get('email'),
subject = self.request.get('subject'),
body = "From: " + name + " Message: " + self.request.get('message'))
message.send()
template = JINJA_ENVIRONMENT.get_template('index.html')
self.response.write(template.render())
# [END main_page]
# [START sitemap_page]
class SiteMapPage(webapp2.RequestHandler):
def get(self):
template = JINJA_ENVIRONMENT.get_template('sitemap.xml')
self.response.write(template.render())
# [END sitemap_page]
application = webapp2.WSGIApplication([('/', MainPage), ('/sitemap.xml', SiteMapPage)], debug=True)
index.html фрагмент кода на форме
<form id="contact-form" method ="post">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" name="name" placeholder="Enter name" required aria-required="true" />
</div>
<div class="form-group">
<label for="email">Email Address</label>
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-envelope"></span>
</span>
<input type="email" class="form-control" id="email" name="email" placeholder="Enter email" required aria-required="true" />
</div>
</div>
<div class="form-group">
<label for="subject">Subject</label>
<select id="subject" name="subject" class="form-control" required aria-required="true">
<option value="na" selected="">Choose One:</option>
<option value="service">General Customer Service</option>
<option value="suggestions">Suggestions</option>
<option value="product">Product Support</option>
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="name">Message</label>
<textarea name="message" id="message" class="form-control" rows="9" cols="25" required aria-required="true" placeholder="Message"></textarea>
</div>
</div>
<div class="col-md-12">
<button type="submit" class="btn btn-skin pull-right" id="btnContactUs">Send Message</button>
</div>
</div>
</form>
Я ценю вашу помощь, и если вам нужна любая другая информация, пожалуйста, дайте мне знать.
Я получаю ошибку сервера несанкционированного отправителя;
Internal Server Error
The server has either erred or is incapable of performing the requested operation.
Traceback (most recent call last):
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1535, in __call__
rv = self.handle_exception(request, response, e)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1529, in __call__
rv = self.router.dispatch(request, response)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1278, in default_dispatcher
return route.handler_adapter(request, response)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1102, in __call__
return handler.dispatch()
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 572, in dispatch
return self.handle_exception(e, self.app.debug)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 570, in dispatch
return method(*args, **kwargs)
File "/base/data/home/apps/s~www-is/1.381224894290286420/main.py", line 31, in post
message.send()
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/mail.py", line 1115, in send
raise ERROR_MAP[e.application_error](e.error_detail)
InvalidSenderError: Unauthorized sender
Дмитрий, спасибо. мой почтовый отправитель зарегистрирован как владелец, но я все равно получаю ту же ошибку. Где вы устанавливаете, что электронное письмо является администратором, есть ли что-то там, которое мне не хватает? Инструменты для веб-мастеров ?, консоль разработчика Google? Консоль приложений? –
Я зарегистрирован как супер администратор в консоли приложений. –
Квота поднимается на почту api, поскольку я тестирую приложение, но я все еще получаю сообщение об ошибке «Несанкционированный отправитель». Итак, теперь возникает вопрос, как я могу проверить почту отправителя, правильно помеченную администратором в приложении? –