Jumpbox for Movable Typeでローカル環境を作る(その5)

Jumpbox for Movable Typeには、メールサーバーのPostfixもインストールされています。
ただ、一般的なユーザーで、プロバイダ経由でインターネットに接続している場合、プロバイダのOP25B(Outbound Port 25 Blocking)によって、Jumpboxから外部へメールを送信することができません。

そこで、Yahooメールのメールサーバーにメールを中継して、Jumpboxから外部へメールを送信する方法を紹介します。
この設定を行うと、コメント/トラックバック受信時の通知メールの送信や、拙作のメールフォームプラグインなどをテストすることができます。

2009年3月1日 17時

パスワードファイルの作成後に、データベースファイルを作成する記述が抜けていたので、追加しました。

1.Yahoo IDの取得

Yahooメールを中継してメールを送信するために、Yahoo JapanのIDをお持ちでない方は、あらかじめYahoo IDを取得してください。

2.Postfixの設定の書き換え

次に、Postfixの設定ファイル(main.cf)を書き換えて、Yahooのメールサーバーにメールを中継するようにします。

「sudo nano /etc/postfix/main.cf」のコマンドを入力すると、「nano」というテキストエディタが起動します。
Page Downキーを押してmain.cfファイルの末尾に移動し、以下の内容を追加します。

smtpd_sasl_auth_enable = no
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_application_name = smtpd
relayhost = [smtp.mail.yahoo.co.jp]:587

main.cfの書き換えが終わったら、Ctrlキー+Xキーを押します。
「Save modified buffer」のメッセージが表示されますので、「Y」キーを押します。
次に、ファイル名を入力する状態になりますので、そのままEnterキーを押します。
これで、ファイルが保存され、nanoが終了します。

3.パスワードマップファイルの作成

次に、Yahooのメールサーバーに接続するための、ユーザー名とパスワードの対応を書いたファイルを作ります。

まず、「sudo nano /etc/postfix/sasl_passwd」のコマンドを入力します。
すると、nanoが起動して、空のファイルを編集する状態になりますので、以下のように入力します。

[smtp.mail.yahoo.co.jp]:587 Yahoo ID:パスワード

また、「パスワード」には、Yahooにログインする際のパスワードを書きます。
例えば、Yahoo IDが「abc12345」、パスワードが「hogehoge」の場合だと、以下のように書きます。

[smtp.mail.yahoo.co.jp]:587 abc12345:hogehoge

入力が終わったら、Ctrlキー+Xキーを押してファイルを保存し、nanoを終了します。
そして、以下のコマンドを入力して、パスワードのデータベースファイルを作ります。

sudo postmap /etc/postfix/sasl_passwd

4.Postfixの再起動

次に、以下のコマンドを入力して、Postfixを再起動します。

sudo postfix reload

5.Mail.pmの書き換え

次に、JumpboxのMovable Typeのディレクトリの中で、「lib」→「MT」ディレクトリにある「Main.pm」をいったんダウンロードし、157行目を以下のように書き換えます。
「Yahoo ID」の箇所は、ご自分のYahoo IDに置き換えます。

書き換え前

exec $sm_loc, "-oi", "-t" or

書き換え後

exec $sm_loc, '-f Yahoo ID@yahoo.co.jp', "-oi", "-t" or

6.mt-config.cgiの書き換え

次に、JumpboxのMovable Typeのmt-config.cgiファイルに、以下の記述を追加します。

MailEncoding iso-2022-jp
DefaultLanguage ja

7.テンプレートの初期化

最後に、JumpBoxのMovable Typeで、ブログのテンプレートとシステムテンプレートを初期化します。
そして、ブログ全体を再構築します。