ごきげんよう。
今日もお越しいただきありがとうございます。

さて、Wordpressで「会員制の掲示板を導入したい」とのリクエストを受けて「bbPress」を導入したのですが…。

問題発生

導入後しばらくするとこんな連絡がやってきました。
トピックに投稿時、エラーが表示されます、 確認をお願いします。
とご依頼がありました。

エラー発生の経緯 

  1.  掲示板ログイン
  2.  任意のフォーラムを選択
  3.  任意のトピックを選択
  4.  内容を入力し「送信ボタン」をクリック
  5.  エラーが表示される 

これすべてのトピックで起こっていてくれれば分かりやすいのですが、作成したトピックの内、起こるものと起こらないものがあるとのこと。
「感触では管理者が作ったトピックは起こりやすい」となんとも分かりやすい(皮肉)状況報告。
それでも返信はできているようで、エラーに負けずブラウザをリロードすると「もうその返信は投稿されています」とエラーメッセージ。
確かに返信はできていました。

原因調査

さすがに
「僕の作ったプラグインでは何で、知りません」
と言う訳にもいかず、まずはさくらインターネットのコントロールパネルへ。
発生しているエラーを確認します。
エラーログにはびっしりと
malformed header from script ‘index.php’: Bad header:…

エラーが分かればグーグル先生に質問です。
「さくらインターネット WordPress malformed header from script ‘index.php’: Bad header:」
とキーワードを検索窓にコピペして検索してみると、以外に同じエラーで悩んでいらっしゃる方が多かったようです。
「これは意外にチョロいやつヤン」
とその時は思いましたよ。

そうは問屋が卸さない

先達の情報を隅々まで読んでいくと大体こんな感じ。

  1. www.hogehoge.orgはさくらインターネットでWordpressで構築
  2. アドの管理はGoogle先生にお任せ
  3. WordPressからメールを出そうとするけど、自ドメインだからDNSの解決もせず、さくらインターネットのメールサーバへメールを投げつける。
  4. メールサーバ側ではメアドなんて作ってないから、「知らん」とエラーを返す。
  5. WordPressのメール送信プログラムがエラーとなる。
  6. Server Internal Errorの出来上がり。

という感じで、解決策は「さくらインターネット側でメールアドレスを設定する」ことで万事解決。

うちの場合、bbPressだからメール送信関係ないのでは…。
先達のお言葉を頭の片隅に追いやって、現場検証を続けることにします。

現場100回は嘘ではなかった

今あるトピックスで返信を書き続け、問題が起きるトピックと起きないトピックの調査をしていくと、なるほど報告に合った通り「管理者が作ったトピック」が該当することが判明。
しかしながら「管理者が作ったトピック」すべてが同様の現象を起こしているわけではありません。
管理者アカウントでログインしてトピックを作ってみると、「今後の返信をメールで通知」なるチェックボックスがあることを発見。
メール関係あるじゃん。
こいつをチェックしてトピックを作ってみると…。
ビンゴ。問題発生。
メールが絡んでいる可能性が高くなった。
でも、うちのメアドはさくらインターネットで管理していて、管理者用のメアドも作成済み。

きらめきは突然に

あきらめ気味に管理者宛に来たメールを確認してみたところ、ちゃんと受信できている。
やっぱりメール送信でエラーが起きているのではないのかと思った瞬間、送信先アドレスを見てびっくり。
「noreply@hoge.org」
え、本当の送信先はBcc:で設定してあるのかしら…。

試しに、noreplyをさくらインターネットのメールに登録してみることに。
するとどうでしょう。
エラーも発生せず、ちゃんと返信もできるではありませんか。

google先生、先達の皆さん、ありがとう!!

結論

bbPressの「 今後の返信をメールで通知」のチェックを入れてトピックを作成するとメールは「noreply@hoge.org」宛に送信されるから注意が必要です。
どこかにそんな設定があったか、もう一度マニュアルと設定画面を見直してみましょう。