‘技術ネタ’ カテゴリーのアーカイブ

Gmail.comからValueDomain(の独自ドメイン)へメールを送れないを解決

2008 年 12 月 29 日 月曜日

watchpad.jp のドメインは VALUE DOMAIN(サーバーはXREA)で管理してもらってますが、@gmail.com のアカウントから info@watchpad.jp にメールを送ってみたところ、送信エラーとなってしまっている事が判明しました。
Gmailからメールを送れないサーバーなんて、あってはいけないですよね。。(汗

■ エラーメールの内容

Gmailから info@watchpad.jp へ送ったら、こんな感じのエラーメールが届きました。

Mail Delivery Subsystem To 自分
FromMail Delivery Subsystem <mailer-daemon@googlemail.com>

This is an automatically generated Delivery Status Notification

Delivery to the following recipient failed permanently:

    info@watchpad.jp

Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the recipient domain.
We recommend contacting the other email provider for further information about the cause of this error.
The error that the other server returned was: 552 552 sorry, your domain isn’t in my list of allowed senderhosts (#5.7.1) (state 13).

簡単に訳すと、以下のようなことが書いてあります。

メール配送システムからあなたへ:

これは自動生成された送信ステータスのお知らせメールです。
下の受信者へメールを配送できませんでした。

    info@watchpad.jp

Googleはあなたのメールを送信してみましたが、受信者側のドメインによって拒否されてしまいました。
このエラーの原因についてより多くの情報を得るために、他のプロバイダにコンタクトしてみてはいかがでしょうか。
そのサーバーが返してきたエラー番号は、552です。
「552 残念。送信元として許可しているホスト一覧に、あなたのドメインはありません。(#5.7.1) (state 13)」

googleでエラーについて調べてみたところ、詳しく解説してくれているサイトを見つけることができました。
独自ドメインのメール送信を SPF に対応させる方法 - WebOS Goodies

こちらの解説によると、(SPFという迷惑メールを防止するための認証技術によって)watchpad.jp のDNSサーバーが、@google.com から送信されるメールは不正だと判断するようになっているようです。
これを回避するには、VALUE DOMAIN の DNSに「@google.com から送信されるメールについては、不正ではないと判断してね」というのを伝える必要があります。

■ 設定の変更

設定自体はとても簡単で、VALUE DOMAIN のユーザーコントロールパネルから

  • 取得済みドメイン一覧
  • 対象のドメイン(watchpad.jp)の [DNS]

と選択して、設定フィールドの txt の部分を下記のように変更しました。

変更前:
txt @ v=spf1 ip4:210.196.169.201 ~all

変更後:
txt @ v=spf1 ip4:210.196.169.201 include:_spf.google.com ~all

■ ESPCで動作確認

WebOS Goodies の「動作を確認する」の通りに、動作を確認してみます。

1. ESPCのページ を開く
2. エラーで送信できなかった送信元から、ESPCのテストサーバー宛にメールを送信する #ページは閉じないでおく

3. 送信後、ESPCのページにある [View Sample] ボタンを押す
4. Submit後のページで SPF Methodにチェックが付いていればOK

おぉ、OKとなりました!(うれしい!)

試しに、実際に @google.com から info@watchpad.jp 宛にメールの送信テストもしてみましたが、無事送れました。

VALUE DOMAINで独自ドメインを利用してるユーザーは、チェックが必要ですね。

ブログツール(WordPress)の初期設定

2008 年 8 月 5 日 火曜日

初めまして、watchpad.jpの中の人(2号)のmoronbeeです。

watchpadのユーザはまだまだ少ないですが、使いやすいように、楽しめるように、日々バージョンアップしていきたいと思ってますので、ユーザの皆さま、楽しみにして下さいね。

今日はこのブログツール自体の設定についてのお話を。(そんな話題かよ、とかいうツッコミはなしの方向で。。)

■ mod_rewriteによるURLの書き換え

ブログを書いたこともない人がこのブログツール自体をセットアップしたので、まあよく分からない事がたくさん(笑)。 それはそれでいいとして、今回ひっかかったのはURLの見せ方とその設定についてです。

watchpadは、ユーザ名を[@user]とすると、ユーザのページは

でアクセスすることができます。実際には、ユーザごとにプログラムやリソースがあるわけではないのでこれはそのように見せているわけなんですが、これはapacheのmod_rewriteというモジュールが「実際には存在しないURLを、あたかもあるかのごとく見せるように書き換えを行って」くれています。

で、今回何がやりたかったというと、ブログのURLをこちら(↓)のようにしたかったのです。

でもこの場合、mod_rewriteにかかると”blog”というユーザのページを表示しようとしてしまいます。これでは都合が悪い。そこで「/blogで始まる場合はrewriteしないでね」というのをmod_rewriteに伝えるわけなんですが、ようやくたどり着いた設定がこちら。

# — blog path exception —
# /blog[/]? –> /blog/index.php
# [^/blog] –> Don’t rewirte URI
#
RewriteCond %{REQUEST_URI} ^/(blog[/]?)$
RewriteRule (.*) /blog/index.php [L]
RewriteRule ^blog - [L]

— この下に書き換えルールが続く —

これで表示される筈ですが、なぜかトップページ以外が表示されません。どうしてだろうなーと小一時間悩んで、昨日はそこであきらめました。(笑)

 

■ 表示されなかったのは.htaccessを置かなかったから

それで今日いろいろ見返していたら、WordPressの管理コンソールの[設定]>[パーマリンク設定]というところに、以下の説明と「WordPress用の.htaccessを置いてね」、と書いてあるのを見つけました。

あなたの .htaccess が書き込み可能ならこの操作は自動的に行われますが、そうでない場合は .htaccess ファイルに mod_rewrite ルールを書き込む必要があります。このフィールドをクリックし、CTRL + a ですべてのコードを選択してください。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

あー、「/blog以下にリクエストが来て、ファイルもディレクトリもない場合はindex.phpに飛ばしてね」って書いてありますね。

これを試してみると…BINGO!! ちゃんとトップページ以外も表示されるようになりました!めでたしめでたし。

まぁ、こんなところでハマるのも自分ぐらいだと思いますが、もしかしたら誰かの役に立つかもしれないので念のためシェアしておきます。ちゃんと動くようになると、色々設定したくなりますね。

これからwatchpad.jpともども、開発チームブログの方もよろしくお願いします!