Google Apps Engine、Python でサイトをホストしており、簡単な連絡フォームを処理しようとしています。
ここに私のHTMLがあります:
<form method="post" action="/email" id="contactForm">
<h2>Let's get in touch!</h2>
Name:<br/>
<input size=35 name="name" placeholder="Feature coming soon!"><br/>
Email:<br/>
<input size=35 name="email" placeholder="Feature coming soon!"><br/>
Subject:<br/>
<input size=35 name="subject" placeholder="Feature coming soon!"><br/>
Message:<br/>
<textarea name="message" rows=15 cols=50 placeholder="Feature coming soon!"></textarea><br/>
<input type="submit" name="send" value="Submit">
</form>
私の app.yaml で:
- URL: /email
スクリプト: email.py
そして、ここに私のemail.pyがあります:
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.api import mail
class SendEmail(webapp.RequestHandler):
def post(self):
name = self.request.post("name")
email = self.request.post("email")
tempSubject = self.request.post("subject")
msg = self.request.post("body")
if name is None:
self.response.out.write("Error: You did not enter a name.")
elif email is None:
self.response.out.write("Error: You did not enter an email.")
elif tempSubject is None:
self.response.out.write("Error: You did not enter a subject.")
elif msg is None:
self.response.out.write("Error: You did not enter a message.")
else:
_subject = "Msg from: " + name + "Re: " + tempSubject
message = mail.EmailMessage(sender = "alexyoung1992@alexyoung.us", to = "alexyoung1992@gmail.com", subject = _subject, body = msg, reply_to = email)
message.send()
application = webapp.WSGIApplication([('/email', SendEmail)], debug=True)
run_wsgi_app(application)
self.redirect('/')
500 サーバー エラーが発生します。
エラー: サーバー エラー
サーバーでエラーが発生したため、リクエストを完了できませんでした。問題が解決しない場合は、問題を報告し、このエラー メッセージとその原因となったクエリをお知らせください。
編集: Python スクリプトを更新し、ローカル マシンですべてをデバッグしました。すべてがスムーズに実行されますが、サーバーで実行しようとすると同じエラーが発生します。また、スクリプトを自分で実行してみて、何か違う結果が得られるかどうかを確認することもできます。