GAE's Mail Python API
GAE提供Mail API可供開發人員撰寫寄信程式,這邊以Python為例稍微紀錄一下
首先將google.appengine.api.mail import進來。
from google.appengine.api import mail
mail.is_email_valid可以檢驗email的格式是否正確,但是筆者試驗是如Issue 7471:mail.is_email_valid returns True for invalid email addresses and URLs這邊網友所回報的一樣沒有效果。
var isValid = mail.is_email_valid(emailAddress)
mail.send_mail可以用來發送電子郵件,只要帶入寄件者、收件者、主旨、以及信件內文。基於安全理由,訊息的寄件者地址必須是應用程式管理員的電子郵件地址,或是已登入使用者的「Google 帳戶」電子郵件地址,。
mail.send_mail(sender, receiver, subject, message)
最後這邊實際來看個完整的範例程式:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from google.appengine.api import users | |
from google.appengine.api import mail | |
import webapp2 | |
class MainHandler(webapp2.RequestHandler): | |
def get(self): | |
sender = self.request.get("sender") | |
receiver = self.request.get("receiver") | |
subject = self.request.get("subject") | |
message = self.request.get("message") | |
if not sender: | |
user = users.get_current_user() | |
sender = user.email() | |
if(not mail.is_email_valid(sender) or not mail.is_email_valid(receiver)): | |
self.response.write("Invalid Email Address...") | |
return | |
mail.send_mail(sender, receiver, subject, message) | |
self.response.write("Mail sended...") | |
application = webapp2.WSGIApplication([ | |
('/', MainHandler) | |
]) |
將範例程式佈署至Cloud,在Application的網址後面帶入sender、receiver、subject、以及message這幾個參數。沒意外的話信件就會照我們給的資訊發送出去。