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.form google.com. CNAME 10

4.「確認してメール配信の設定に進む」をクリックします。

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

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

ホスト名 ターゲット タイプ MX設定
form aspmx.l.google.com. MX 10
form alt1.aspmx.l.google.com. MX 20
form alt2.aspmx.l.google.com. MX 30
form aspmx2.googlemail.com. MX 40
form aspmx3.googlemail.com. MX 50
form aspmx4.googlemail.com. MX 60
form aspmx5.googlemail.com. MX 70
form v=spf1 include:aspmx.googlemail.com ~all TXT 10

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

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

1. 現在は有料サービス「G Suite」に統一されたようです。
Update:

Tips

Text by pushman