CentOS 6.5にメールサーバ(postfix&dovecot)を導入する方法
2024/01/12
CentOS 6.5にメールサーバ(postfix&dovecot)を導入したかった。具体的にはThunderbirdでメールの送受信が出来る状態まで設定したい。尚、細かい設定はよく分からないので最低限の設定で対応したかった。以下に作業環境と導入方法をメモ。
目次
作業環境
- サーバ環境:CentOS 6.5 64bit
- ドメイン:hoge.com
- メールユーザ:webmaster
作業中はログ確認しながらの方が良い
メールログは/var/log/maillogにあるので、送受信ができないとかトラブルがあれば確認する。2つぐらいターミナル立てておいて片方では、
tail -f /var/log/maillog
とかでリアルタイム確認にしておけば分かりやすかった。
導入方法
sendmailが動いている場合は念のため止めておく
/etc/rc.d/init.d/sendmail stop
postfixをインストール
yum -y install postfix
postfixの設定ファイルを開く
vi /etc/postfix/main.cf
以下を追記していく
myhostname = mail.hoge.com mydomain = hoge.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 192.168.1.0/24, 127.0.0.0/8 home_mailbox = Maildir/ smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
ファイアウォールを設定
iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport smtp -j ACCEPT iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport pop3 -j ACCEPT iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport imap -j ACCEPT /etc/rc.d/init.d/iptables save
dovecotをインストール
yum -y install dovecot
dovecotの設定ファイルを開く
vi /etc/dovecot/dovecot.conf
以下を追記していく
protocols = pop3 imap disable_plaintext_auth = no
もう一つのdovecot設定ファイルを開く(違いは分からず)
vi /etc/dovecot/conf.d/10-auth.conf
以下を追記していく
disable_plaintext_auth = no
新規ユーザ追加時にメールボックスが作成されるよう設定
mkdir -p /etc/skel/Maildir/{new,cur,tmp} chmod -R 700 /etc/skel/Maildir/
メール用のユーザを作成
useradd webmastert passwd webmaster
既存ユーザにメールボックスを作成する場合はそのユーザでログインして以下コマンドを入力。以下ではhogehogeというユーザに変更してメールボックスを作成
su - hogehoge mkdir /etc/skel/Maildir mkdir /etc/skel/Maildir/tmp mkdir /etc/skel/Maildir/cur mkdir /etc/skel/Maildir/new
SMTP-AUTHクライアントのインストールと起動設定
yum -y install cyrus* service saslauthd start chkconfig saslauthd on
postfixとdovecotを起動
service postfix start service dovecot start
必要なら自動起動も設定する
chkconfig postfix on chkconfig dovecot on
その他
POP3とは
メールを受信する為のプロトコルの一つ。サーバにメールを残さない為、サーバの負荷は軽くなるけど複数の場所でメールを見ることができない。
IMAPとは
メールを保存しているサーバから受信する為のプロトコル。サーバにメールを残すので複数の場所でメールを見ることが出来るが、定期的にメールを削除していかないと負荷になる。
SMTPとは
メールを伝送する為のプロトコルの一つ。POP3やIMAPは受信だけど、SMTPは送信。
メーラーでの送受信は必要なくPHPでmail関数を使いたい場合
postfixをインストールして起動するだけで、以下ソースで送信できるみたい。特に設定は必要なし。
mb_language('ja'); mb_internal_encoding('UTF-8'); $from = 'hoge@hoge.com'; if( mb_send_mail($from, 'subject', 'body', "From: {$from}\r\n", "-f{$from}") ){ //成功時処理 }else{ //失敗時処理 }
Thunderbird側での設定
「アカウント」→「新しいアカウント作成」の中から「メール」を選んで進んでいけばOK。IMAPで確認したところ問題なかった。ただ、セキュリティ設定がいけないらしく警告画面みたいなのが出るので、例外設定みたいな感じで進む。この辺の設定とかもちゃんとできるようになりたいところ。
関連記事
-
WebARENA Indigo(VSP)のスナップショットについて
先日WebARENA Indigo内でOS及びサーバ移行を行い、しばらく様子見し ...
-
CentOS7.9にPostfixをインストールしてメール送信できるようセットアップする方法
本ブログのサーバをKAGOYAのVPSからWebARENA Indigoへ移行し ...
-
WordPressサイトのロードアベレージが高い際の対応方法
あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...
-
サーバー監視はNew Relicが楽に導入できて便利
サーバー監視はNew Relicが楽に導入できて便利だった。メモリ使用率やCPU ...
-
WordPressでメモリを節約しつつ高速化する設定方法
メモリ1GのVPSを借りてWordpress以外にも、ちょいちょいものを置いてい ...