Google Appsでフォーム経由のメールを受信
Value Domainの場合

独自ドメインでGmailの機能が使える「Google Apps*1」。とても便利で快適なのですが、自サイトに設置しているPHPで作成したフォームから送信されるメールが届きません。
Google Appsのヘルプページ「自分のアカウントにメールを送信するフォームをウェブサイトに配置したが機能しない」によると、それは正しい動作だそうです。

簡単な解決方法は、フォームの送り先メールアドレスをそのサイトのドメインとは別のメールアドレスにすることですが、フォーム専用のメールアドレスを管理するのも面倒なので、四苦八苦してGmailのみで管理する事に成功しました。詳細な解説はできないので、作業記録を残しておきます。

まずGoogle Appsの管理画面にログインし、「ドメインの設定」から「ドメイン名」へと移動します。次に「ドメインエイリアスを追加」をクリックし、プライマリドメインのサブドメインを入力します。
例えばプライマリが「heartfield-web.com」なら、「form.heartfield-web.com」なんて具合です。

次のページで「ドメインの所有権を確認」する方法を選択します。今回は「CNAMEレコードを変更」を選択します。選択すると即座に次の指示が表示されますので手順に従います。以下の番号はGoogle Appsの指示番号と同じです。

  1. Value-Domainにログインし、「DNS情報変更」ページに移動します。
  2. Google Appsの画面に表示されている「google12345678901234」と先程入力したサブドメイン「form」を「.(ドット)」でつないだ「google12345678901234.form」のような文字列をホスト名に入力します。
  3. ターゲットを「google.com.」、タイプを「CNAME」、MX設定を「10」とします。ターゲットの最後の「.」を忘れないよう注意してください。

ここまでの作業でValue-Domainの設定画面に以下の様な項目が追加されます。

ホスト名ターゲットタイプMX設定
google12345678901234.formgoogle.com.CNAME10
  1. 「確認してメール配信の設定に進む」をクリックします。

以前はここのプルダウンメニューにValue-Domainもあったのですが、現在はなくなっています。なので「Value DomainでGoogle Apps」を参考にしてください。サーバーによって若干値が違う事があるかもしれませんので、他のサイトも参考にしてください。

最初にGoogle Appsを有効にするときは、ホスト名を「@」にしたと思いますが、今回は先程入力したサブドメイン「form」を入力します。後の値は同じですので、以下のようになります。

ホスト名ターゲットタイプMX設定
formaspmx.l.google.com.MX10
formalt1.aspmx.l.google.com.MX20
formalt2.aspmx.l.google.com.MX30
formaspmx2.googlemail.com.MX40
formaspmx3.googlemail.com.MX50
formaspmx4.googlemail.com.MX60
formaspmx5.googlemail.com.MX70
formv=spf1 include:aspmx.googlemail.com ~allTXT10

Google Appsの画面に戻り、「指定された手順を完了しました」をクリックします。ドメインの設定画面に入力したサブドメインが表示され、「エイリアスのCNAMEを確認中」と表示されていると思います。この変更が反映されるまで最大48時間かかるそうなので、あとはじっと待ちましょう。全ての設定が正しければ、ドメインエイリアスの状態が「アクティブ」に切り替わります。

後はフォームの送信先をサブドメインのメールアドレスに設定し直せば完了です。実際にサブドメインのメールアドレスを作成する必要はありません。
例えば「formmail@heartfield-web.com」というメールアドレスでフォーム経由のメールを受信したい場合、フォーム経由のメールの送信先を「formmail@form.heartfield-web.com」とするだけで、「formmail@heartfield-web.com」にメールが届く事になります。

Update:

Tips

Text by pushman