Php

從 PHP 發送電子郵件 - 電子郵件提供商與 GAE

  • January 13, 2011

我需要從我的社交服務發送電子郵件(這是https://stackoverflow.com/questions/4532211/experiences-in-mailing-to-registered-users的延續)。我有強烈的感覺,最好避免電子郵件伺服器配置和維護方面的問題,並選擇可以解決所有痛苦問題的電子郵件提供商。

所以比較了幾個報價:http: //imgur.com/JkK2X.jpg

其中三個看起來很有吸引力:Postageapp / Sendgrid / CritSend

作為替代方案,我正在考慮設置 GAE 應用程序。

電子郵件提供商很容易上手,但不知道 GAE 需要付出多少努力才能與 PHP 集成。

所以我的問題是:選擇哪個選項更好:

  • 電子郵件提供商
  • GAE

?

這裡有兩個因素很重要:

  • 業務背景(因此提及價格),
  • 設置和維護所需解決方案所需的工作。

最好我希望避免所有與電子郵件相關的問題(如黑名單等)。

在我看來,他們都被解雇了。您應該使用Google應用引擎電子郵件服務。您可以每天向收件人發送 1000 個,之後每個收件人將花費 0.0001 美元。

應用程序.yaml

您必須替換application: sendmail為您的應用程序名稱。

application: sendemail
version: 1
runtime: python
api_version: 1

handlers:
- url: /static
 static_dir: static
- url: /email
 script: email.py

email.py

您必須將 and SECRET = ‘1234’ 替換為您的 SECRET 以保護應用程序,並將 SENDER = ‘x@.y.com 替換為您的註冊使用者之一的電子郵件地址。

import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext.webapp import template
from google.appengine.api import mail
import logging

SECRET = '1234'
SENDER = 'x@y.com'

class MainPage(webapp.RequestHandler):
   def post(self):
       secret = self.request.get('secret')
       if (secret == SECRET):
           to = self.request.get('to')
           subject = self.request.get('subject')
           body = self.request.get('body')

           if (to != None and subject != None and body != None):
               mail.send_mail(sender=SENDER,
                 to=to,
                 subject=subject,
                 body=body)
               self.response.out.write('ok')
           else:
               self.response.out.write('param missing')


application = webapp.WSGIApplication(
                                    [('/.*', MainPage)],
                                    debug=True)

def main():
   run_wsgi_app(application)

if __name__ == "__main__":
   main()

首先將您的應用程序上傳到應用程序引擎(文件中有詳細說明)。接下來,您可以捲曲您的應用程序。假設你的application = 'sendmail'. 當你這樣做時,curl http://sendmail.appspot.com/email -d "to=y@z.com&subject=hi&body=hi&secret=1234"你會將該電子郵件發送到y@z.com

引用自:https://serverfault.com/questions/216660