実るほど こうべを垂れる 稲穂かな。
Categories
Search
Sponsored Link
Archives
Counter
Recent Entries
Recent Trackbacks
2006年7月23日
諸々の事情により、プロバイダを BIGLOBE(フレッツADSL) から eoホームファイバーに変更しました。まぁ、事情っても待てど暮らせど「Bフレッツが開通しなかった」ってだけの話ですが(-_-;)
で、サービスとかシステムとかも色々変わったわけで、説明書きに一通り目を通していると……なんとまぁ、このプロバイダ FROMアドレス フリーの中継サーバを用意してくれているじゃないですか!! と、言うわけなので AU携帯 へメールが送れない問題を解決すべく、利用させてもらうことにしました。
ただ、普通に中継サーバを許可するとスパム送信業者にいいように使われるので、現在はSMTP Auth(SMTP認証)の認証が必要になるとのこと。
ふむ。やってやろうじゃねーか、VineLinux3.2 での Postfix を使った SMTP認証を。
ってなわけで、ココから↓は作業ログです。
1.そもそも対応してるのか?
→Postfix は cyrus-sasl による SMTP認証に対応している。
→ただし、Vine3系に含まれている Postfix の RPM パッケージは、SMTP認証に対応していない。
→そのため、SMTP認証のオプションをつけてソースをコンパイルしなおさなければならない。
2.コンパイルインストール? RPMインストール?
→めんどくさいので、RPMパッケージをつくっちゃいましょう。
→rpm-build のインストール
# apt-get install rpmbuid
3.Postfix ソースコードのインストール
# apt-get source postfix
4.cyrus-sasl のインストール
# apt-get install cyrus-sasl cyrus-sasl-md5
5.Postfix SPECファイルの編集
# cd /usr/src/vine/SPECS/
# vi postfix.spec
| 編集箇所は %build の CCARGS と AUXLIBS
| CCARGS に 「-DUSE_SASL_AUTH -I/usr/include/sasl」を追加
| AUXLIBS に 「-L/usr/lib/sasl2 -lsasl2」を追加
| 以上。たかがこれだけ。
| ・・・。
| たかがこれだけなんですが、この設定に3時間ぐらいかかったorz
| だってさ、Postfix での SMTP認証を解説してあるサイトのほとんどが sasl1の設定だったから……
| VineLinux3系は sasl2 を使っているみたいなので、微妙に設定が違ってたのね。。。
| ちなみに間違った設定をした場合に出たmaillogの内容は↓(途中省略)
| Authentication failed: cannot SASL ...... no mechanism available
※一応 diff の結果
# diff -U0 postfix.spec.org postfix.spec
@@ -117,2 +117,3 @@
- -DHAS_PGSQL -I/usr/include/pgsql" \
- AUXLIBS=""
+ -DHAS_PGSQL -I/usr/include/pgsql \
+ -DUSE_SASL_AUTH -I/usr/include/sasl" \
+ AUXLIBS="-L/usr/lib/sasl2 -lsasl2"
6.RPMパッケージの作成
# rpm -bb postfix.spec
→依存関係のエラーがいくつかでたような。。。
→SPECファイルを編集する時に LDAP とかいらないオプションを削ればいいみたい。
→けどめんどくさいので、対象のデベロッパーパッケージをインストールしちゃいました (ヾ(`◇')ダメッ!ダメ
→/usr/src/vine/RPMS/i386/ に RPMファイルができあがる!!
7.RPMファイルのインストール
→バージョンが同じだと通常インストールができないので、強制インストール
→(RPM作成時に独自にリビジョンをあげときゃよかったかも。。。)
# rpm -i --force /usr/src/vine/RPMS/i386/postfix….rpm
8.Postfix の設定
→main.cf へ smtp_sasl の設定を追加。 smtpd_sasl じゃないので、要注意。
# vi /etc/postfix/main.cf
→次の3行を追加
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noplaintext, noanonymous
9.SMTP認証用パスワードファイルの作成
# vi /etc/postfix/sasl_passwd
SMTPServer ACCOUNT:PASSWORD
| 設定例
| smtpauth.eonet.ne.jp hogehoge%gaia.eonet.ne.jp:password
→map ファイルの作成
# postmap /etc/postfix/sasl_passwd
10.Postfixの再起動
# /etc/init.d/postfix start
11.いじょ。
この先 Postfix のアップデートパッケージが出るたびに RPM の作り直しをしなければ。。。
まぁ、どこの携帯にも遅延なくメール送れるようになったから、いっか。
ちなみに・・・
Vine4系では、↑のようなめんどくさいことをしなくても、標準版でSMTP認証に対応していました。
とっとと4系にあげてしまうっていうのも、一つの手かもしれませんね。
このエントリーのトラックバックURL:
http://aerith.mydns.jp/cgi-bin/mt-bin/mt-tb.cgi/52
※トラックバックは管理者に承認されるまで表示されません。
このリストは、次のエントリーを参照しています: Vine3.2のPostfixでSMTP認証:
» PostfixをSMTPクライアントとしてSASL認証
from LostMemories
最近のOP25Bの影響で、自宅サーバからメールを送信するにはプロバイダが提供する中継サーバを経由する必要がでてきました。僕のプロバイダはBiglobeなの... [詳しくはこちら]
トラックバック時刻: 2007年3月 8日 05:52