某システムにてメールを配信する機能を開発へ依頼。
受け取った後、PHPのmb_send_mailはsendmailが無いと動かない事実を伝えられる。
うちのメールサーバはPostfixですよ。。。Σ(|||▽||| )
仕方が無いので、WEBサーバにsendmailを立てDMZ内のpostfixへリレーするようする。
意外と内部のメールサーバに転送する文献がなかったので、備忘録として残すことにした。
■sendmail-cf-8.13.8-8.el5.i386.rpmのインストール
設定ファイルをコンパイルするm4コマンドを使う為に必要。
・モジュールの確認
# rpm -qa | grep sendmail
sendmail-8.13.8-8.el5
sendmail-cf-8.13.8-8.el5
「sendmail-cf-8.13.8-8.el5」がインストールされていなければ以下を実施
・パッケージのインストール
# rpm -ivh sendmail-cf-8.13.8-8.el5.i386.rpm
・再度モジュールの確認
# rpm -qa | grep sendmail
sendmail-8.13.8-8.el5
sendmail-cf-8.13.8-8.el5
■hostsファイルの確認
・hostnameの確認
# hostname
hogeweb01
・hostsファイルの編集
# cp -ip /etc/hosts /etc/hosts.日付
# vi /etc/hosts
172.xxx.xxx.1 hogeweb01.localdomain hogeweb01
^^^^^^^^^^^^^^^^^^^^
メールサーバっぽいドメインになってること。
これをしないとsendmailの起動がやたら遅い。
■sendmail SMTPのリレー設定
・sendmail.mcの編集
# cd /etc/mail
# cp -ip sendmail.mc sendmail.mc.日付
# cp -ip sendmail.cf sendmail.cf.日付
# vi sendmail.mc
26行目あたりに、下記のようなSMART_HOSTという記述があると思うので、これを変更します。
dnl define(`SMART_HOST',`smtp.your.provider')
↓
define(`SMART_HOST', `smtp:[172.xxx.xxx.xx2]')dnl
★ここがポイント!
`smtp:[172.xxx.xxx.xx2]' と記述するときはIPアドレス指定
`smtp:smtp.yourdomain.jp' と記述するときはドメイン指定(DNSで引けること, hostsファイルでは駄目でした)
# diff sendmail.mc sendmail.mc.日付
26c26
< define(`SMART_HOST', `smtp:[172.xxx.xxx.xx2]')dnl
---
> dnl define(`SMART_HOST', `smtp.your.provider')dnl
・sendmail.cfの作成
m4 sendmail.mc > sendmail.cf
・sendmailの起動
# cd /etc/init.d
# ./sendmail start
sendmail を起動中: [ OK ]
sm-client を起動中: [ OK ]
・動作確認
# sendmail hoge@hoge.co.jp
From: moge@hoge.co.jp
To: hoge@hoge.co.jp
Subject: This is test mail.
hogehoge
.
受け取った後、PHPのmb_send_mailはsendmailが無いと動かない事実を伝えられる。
うちのメールサーバはPostfixですよ。。。Σ(|||▽||| )
仕方が無いので、WEBサーバにsendmailを立てDMZ内のpostfixへリレーするようする。
意外と内部のメールサーバに転送する文献がなかったので、備忘録として残すことにした。
■sendmail-cf-8.13.8-8.el5.i386.rpmのインストール
設定ファイルをコンパイルするm4コマンドを使う為に必要。
・モジュールの確認
# rpm -qa | grep sendmail
sendmail-8.13.8-8.el5
sendmail-cf-8.13.8-8.el5
「sendmail-cf-8.13.8-8.el5」がインストールされていなければ以下を実施
・パッケージのインストール
# rpm -ivh sendmail-cf-8.13.8-8.el5.i386.rpm
・再度モジュールの確認
# rpm -qa | grep sendmail
sendmail-8.13.8-8.el5
sendmail-cf-8.13.8-8.el5
■hostsファイルの確認
・hostnameの確認
# hostname
hogeweb01
・hostsファイルの編集
# cp -ip /etc/hosts /etc/hosts.日付
# vi /etc/hosts
172.xxx.xxx.1 hogeweb01.localdomain hogeweb01
^^^^^^^^^^^^^^^^^^^^
メールサーバっぽいドメインになってること。
これをしないとsendmailの起動がやたら遅い。
■sendmail SMTPのリレー設定
・sendmail.mcの編集
# cd /etc/mail
# cp -ip sendmail.mc sendmail.mc.日付
# cp -ip sendmail.cf sendmail.cf.日付
# vi sendmail.mc
26行目あたりに、下記のようなSMART_HOSTという記述があると思うので、これを変更します。
dnl define(`SMART_HOST',`smtp.your.provider')
↓
define(`SMART_HOST', `smtp:[172.xxx.xxx.xx2]')dnl
★ここがポイント!
`smtp:[172.xxx.xxx.xx2]' と記述するときはIPアドレス指定
`smtp:smtp.yourdomain.jp' と記述するときはドメイン指定(DNSで引けること, hostsファイルでは駄目でした)
# diff sendmail.mc sendmail.mc.日付
26c26
< define(`SMART_HOST', `smtp:[172.xxx.xxx.xx2]')dnl
---
> dnl define(`SMART_HOST', `smtp.your.provider')dnl
・sendmail.cfの作成
m4 sendmail.mc > sendmail.cf
・sendmailの起動
# cd /etc/init.d
# ./sendmail start
sendmail を起動中: [ OK ]
sm-client を起動中: [ OK ]
・動作確認
# sendmail hoge@hoge.co.jp
From: moge@hoge.co.jp
To: hoge@hoge.co.jp
Subject: This is test mail.
hogehoge
.
以上でメールが正しく送信されればOK!
コメント
コメントを投稿