Google App Engineでもうちょっとがんばってみる:メール送信プログラム
白石俊平
2008/04/11 18:00
Google App Engineの基礎を学んだところで、もうちょっと発展的なプログラムを組んでみよう。
リスト:builder-example2.py
# encoding: utf-8
import os
import logging
import wsgiref.handlers
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from google.appengine.api import mail, users
class MainPage(webapp.RequestHandler):
def get(self):
user = users.get_current_user()
if not user:
self.redirect(users.create_login_url("/"))
else:
# メール送信
nickname = user.nickname()
mailAddr = user.email()
logging.debug("%s<%s>にメールします", nickname, mailAddr)
mail.send_mail(sender="shumpei.shiraishi@gmail.com",
to="%s<%s>" % (nickname, mailAddr),
subject="こんにちは!%sさん" % nickname,
body="""
拝啓、%sさん
お世話になっております。builderです。
そしてさようなら。
""" % nickname)
# 画面表示
path = os.path.join(os.path.dirname(__file__), 'response.html')
self.response.out.write(
template.render(path, {'username':user.nickname()}))
def main():
application = webapp.WSGIApplication([('/', MainPage)],
debug=True)
wsgiref.handlers.CGIHandler().run(application)
if __name__ == "__main__":
main()
リスト:app.yaml
# アプリケーションの名称 application: builder-example2 # アプリケーションのバージョン version: 1 # ランタイムの名称。現時点では「python」のみ runtime: python # アプリケーションが前提としているAPIのバージョン api_version: 1 # URLと、その処理方法の定義 handlers: - url: /.* script: builder-example2.py
- 特集: Google App Engine詳解 (3件)
- 今日のトップ記事
- 2日前
- 4日前
- 6日前
- 7日前
- ホワイトペーパー
- 読者投票
いよいよ7月11日に売り出される「iPhone 3G」。今のところの購入予定は?
- 話題のタグ
Microsoft
開発環境
PHP
JavaScript
Apache
Webアプリケーション開発
入門
Webデザイン
フレームワーク
Opera
小技
Solaris
Linux
Firefox 3
リファレンス
Leopard
iPod touch
Adobe
Tips
C/C++
オープンソース
ブラウザ
イロハ
Ruby
Mozilla
RIA
Python
MySQL
iPhone
Off Topic
Internet Explorer
ライブラリ
Eclipse
Java
Windows
HTML
Flash
Safari
Google
Mac OS X
Database
Firefox
XHTML
server
CSS
仮想化
SOA
iPhone 3G
Apple
Ajax
話題のタグを見る »
より多くのコスト削減に向けて、BEAの効果的なアプローチをご紹介いたします。詳しくはホワイトペーパーをご覧ください。
MS、Vistaとの互換性をチェックできる「Compatibility Center」リリースへ
「似非」SOAを見破る10の方法
Firefox 3のアドオンやテーマ管理を容易にする
openSUSE 11.0を試してみた
フォトレポート:世界各国の優秀な技術者がパリに集結--Imagine Cup 2008世界大会
バッチ処理でデータベース活用:4つの課題と5つの解決ポイント
Rubyでどう書く?:RubyでWord文書を作成する
ZDNet Japan Green IT
Techno Exchange
「未来の、その先」をどう提言していくか
今知るべき仮想化情報
DELL連載第4回〜「Microsoft System Center」