[PHP] Google App Engine (PHP) でメール送信

Google App Engine (PHP) でメールを送信するときは、PHP標準の mail 関数は使えません。代わりに、GAEが用意するクラスを使う必要があります。以下のようなコードになります。

とてもシンプルでわかりやすいですね。日本語のメール送信というと、文字化けに悩まされることが多いイメージがありますが、このクラスに関しては、特別な処理をしなくても、普通に文字化けせずに送ることができました。ソースはUTF-8で書いています。

ただし、送信者メールアドレスに関しては、セキュリティ上の理由から、以下のような制限があるようです。(「Unauthorized sender」というメッセージの例外が発生します)

For security purposes, the sender address of a message must be the email address of an administrator for the application or any valid email receiving address for the app (see Receiving Mail in PHP). The sender can also be the Google Account email address of the current user who is signed in, if the user’s account is a Gmail account or is on a domain managed by Google Apps.Mail PHP API Overview

要約すると、以下のアドレスならOKのようです。

  • そのアプリケーションの管理者のメールアドレス
  • そのアプリケーション向けの有効なメールアドレス
  • 現在サインイン中の Google アカウントメールアドレス(Gmailアドレスか、Google Apps に管理されているドメインのメールアドレスの場合のみ)

そのアプリケーションのドメイン(xxx.appspot.com とか)のメールアドレスであれば、問題なく通るようです。


Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です