トップページ > インフォメーション

自宅サーバ構築MY HOME SERVER

メールサーバ(Postfix / Dovecot) Postfixのインストール・設定 Dovecotのインストール・設定 メール不正中継テスト メールクライアントの設定(1) SSL(暗号化) メールクライアントの設定(2)

- メールサーバ(Postfix / Dovecot) -

メール送受信をするSmtpサーバにはPostfixを使います。受信したメールをユーザのメールボックス に運ぶPop/ImapサーバはDovecotを使用します。外部ドメインからもメールクライアントで自宅サーバ にアクセスできるように設定します。メールアカウントの追加もします。メールサーバ使用に当たって IP Filter及びルータのポート(25,110,143,587,993,995)を開放する必要があります。

- 注意点 -
設定に入る前に、現在使用しているISP(インターネットサービスプロバイダ)のSmtpサーバ のアドレスを調べてください。そのアドレスを設定内容のrelayhost = [ISP名]に記入する必要があります。 Google等で、自宅サーバ relayhost ISP名 等で検索すると情報が出てくると思います。サンプル記述例 は下記のとおりです。尚、この設定がない場合、外部ドメイン宛の送信はできません。

例1 朝日ネット relayhost = [op25b.asahi-net.or.jp]
例2 YahoBB relayhost = [ybbsmtp.mail. yahoo.co.jp]:587
例3 so-net relayhost = [mail.xa2.so-net.ne.jp]



- Postfixのインストール・設定 -

まずは、Procmail(メールフィルタリングソフト)、Posftixをインストールします。
         
[root@hoge123 ~]# cd /usr/ports/mail/procmail 
[root@hoge123 /procmail]# make BATCH=yes install clean
[root@hoge123 /procmail]# cd
[root@hoge123 ~]# vi /usr/local/etc/pkgtools.conf

MAKE_ARGS = {
	'security/cyrus-sasl2' => 'WITHOUT_OTP=yes', ← 追記します。
	'security/cyrus-sasl2-saslauthd' => 'WITH_BDB=yes', ← 追記します。
	'mail/postfix' => 'WITH_SASL2=yes WITH_TLS=yes', ← 追記します。
  }
  
[root@hoge123 ~]# cd /usr/ports/security/cyrus-sasl2
[root@hoge123 /cyrus-sasl2]# make BATCH=yes WITHOUT_OTP=yes WITH_BDB=yes install clean
[root@hoge123 /cyrus-sasl2]# rehash
[root@hoge123 /cyrus-sasl2]# rehash
[root@hoge123 /cyrus-sasl2]#cd /usr/ports/security/cyrus-sasl2-saslauthd
[root@hoge123 /cyrus-sasl2-saslauthd]# make BATCH=yes WITH_BDB=yes install clean
[root@hoge123 /cyrus-sasl2-saslauthd]# cd /usr/ports/mail/postfix
[root@hoge123 /postfix]# make WITH_SASL2=yes WITH_TLS=yes WITH_BDB=yes install clean

最初にこの画面が出ます。そのまま「OK」を選択します。


Would you like to activate Postfix in /etc/mail/mailer.conf [n]? ← Enterキーを押します。

[root@hoge123 /postfix]# rehash
[root@hoge123 /postfix]# cd


Postfixの設定をします。
         
[root@hoge123 ~]# vi /usr/local/etc/postfix/main.cf

#myhostname = host.domain.tld
↓ 先頭の#を削除して、変更します。
myhostname = hoge123.dip.jp

#mydomain = domain.tld
↓ 先頭の#を削除して、変更します。
mydomain = hoge123.dip.jp 

#myorigin = $mydomain
↓ 先頭の#を削除します。
myorigin = $mydomain

#inet_interfaces = all
↓ 先頭の#を削除します。
inet_interfaces = all

#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
↓ 先頭の#を削除します。
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 

#relay_domains = $mydestination
↓ 先頭の#を削除します。
relay_domains = $mydestination 

#alias_maps = hash:/etc/aliases
↓ 先頭の#を削除します。
alias_maps = hash:/etc/aliases 

#alias_database = hash:/etc/aliases
↓ 先頭の#を削除します。
alias_database = hash:/etc/aliases 

#home_mailbox = Maildir/
↓ 先頭の#を削除します。
home_mailbox = Maildir/ 

#mailbox_command = /some/where/procmail
↓ 先頭の#を削除し、変更します。
mailbox_command = /usr/local/bin/procmail 

↓ 最終行に追記します。
relayhost = [xxx.xxx.xxx.xxx] ← 環境に合わせます。
# Cyrus-SASL configuration
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients = yes


saslauthd、SMTU AUTHの設定をします。
         
[root@hoge123 ~]# vi /etc/rc.conf

↓ 最終行に追記します。
saslauthd_enable="YES" 
saslauthd_flags="-a sasldb" 

[root@hoge123 ~]# /usr/local/etc/rc.d/saslauthd start
Starting saslauthd.

[root@hoge123 ~]# vi /usr/local/lib/sasl2/smtpd.conf

新規作成です。下記内容を記入します。

pwcheck_method: auxprop

[root@hoge123 ~]# saslpasswd2 -c -u hoge123.dip.jp himitsu
Password: user_pass ← himitsuのパスワードを入力します。
Again (for verification): ←パスワード再入力します。
※SMTP-AUTH認証用のユーザー名、とパスワードです。この情報は
メールクライアント設定時に必要になります。

[root@hoge123 ~]# chown cyrus:mail /usr/local/etc/sasldb2
[root@hoge123 ~]# chmod 640 /usr/local/etc/sasldb2
[root@hoge123 ~]# /etc/rc.d/sendmail stop
[root@hoge123 ~]# vi /etc/rc.conf

↓ 最終行に追記します。
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

[root@hoge123 ~]# vi /etc/periodic.conf

↓ 新規作成です。下記内容を貼り付けます。
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"

[root@hoge123 ~]# mv /etc/mail/mailer.conf /etc/mail/mailer.conf.org
[root@hoge123 ~]# vi /etc/mail/mailer.conf

↓ 新規作成です。下記内容を貼り付けます。
sendmail	/usr/local/sbin/sendmail
send-mail	/usr/local/sbin/sendmail
mailq		/usr/local/sbin/sendmail
newaliases	/usr/local/sbin/sendmail

[root@hoge123 ~]# vi /etc/make.conf

↓ 最終行に追記します。
NO_MAILWRAPPER=YES
NO_SENDMAIL=YES 

[root@hoge123 ~]# vi /etc/rc.conf

↓ 最終行に追記します。
postfix_enable="YES"

[root@hoge123 ~]# vi /usr/local/etc/postfix/master.cf

#submission inet n       -       n       -       -       smtpd
            ↓ 変更後 (#を削除します。)
submission inet n       -       n       -       -       smtpd

[root@hoge123 ~]#  /usr/local/etc/rc.d/postfix start




- Dovecotのインストール・設定 -

Dovecotのインストールをします。
         
[root@hoge123 ~]# cd /usr/ports/mail/dovecot
[root@hoge123 /dovecot]# make BATCH=yes install clean

最初にこの画面が出ます。そのまま「OK」を選択します。


[root@hoge123 /dovecot]# cd
[root@hoge123 ~]# chmod 640 /usr/local/etc/dovecot.conf
[root@hoge123 ~]# vi /usr/local/etc/dovecot.conf

protocols = imap pop3 imaps pop3s managesieve
↓ 変更します。
protocols = imap pop3 

#ssl = yes
↓ 先頭の#を削除して、変更します。
ssl = no 

mail_location = mbox:~/mail/:INBOX=/var/mail/%u
↓ 変更します。
mail_location = maildir:~/Maildir


[root@hoge123 ~]# vi /etc/rc.conf

↓ 最終行に追記します。
dovecot_enable="YES"

[root@hoge123 ~]# /usr/local/etc/rc.d/dovecot start 

[root@hoge123 ~]# vi /etc/aliases

↓ 最終行に追記します。
root:		hogehoge@hoge123.dip.jp 

[root@hoge123 ~]# postalias /etc/aliases 
[root@hoge123 ~]# mkdir -p /home/hogehoge/Maildir/{cur,new,tmp}
[root@hoge123 ~]# chmod -R 700 /home/hogehoge/Maildir
[root@hoge123 ~]# chown -R hogehoge:hogehoge /home/hogehoge/Maildir
[root@hoge123 ~]# mkdir -p /usr/share/skel/Maildir/{cur,new,tmp}
[root@hoge123 ~]# chmod -R 700 /usr/share/skel/Maildir/
[root@hoge123 ~]# vi /usr/local/etc/procmailrc

↓ 新規作成です。下記内容を貼り付けます。
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
#LOGFILE=$MAILDIR/procmail.log

:0
* ^Subject:.*=\?[Ii][Ss][Oo]-2022-[Jj][Pp]\?[Bb]\?GyRCTCQ\+NUJ6OS05cCIo
/dev/null

[root@hoge123 ~]# vi /usr/local/etc/logrotate.d/procmail

↓ 新規作成です。下記内容を貼り付けます。

/home/*/Maildir/procmail.log {
	monthly
	rotate 4
	missingok
}




- メール不正中継テスト -

smtpサーバを外部に公開するときは、第3者に自宅のsmtpサーバを勝手に利用されないようにしなければなりません。 不正中継されないか、Third Party Relay Chekck を実行します。

「ホスト名」にhoge123.dip.jpといれ「check」ボタンをクリックします。

1分位待つと、結果が表示されます。最終行に「全てのテストが行われました。 no relays accepted」と表示されれば、不正中継テストはパスしています。 12.jpg(48823 byte)



- メールクライアントの設定(1) -

OUTLOOK EXPRESS編

一旦、Smtp-Authが動作するか、メールソフトに設定します。下記設定をします。 「このサーバーは認証が必要」にチェックを入れ、「設定」ボタンをクリックします。


「受信メールサーバーと同じ設定を使用する」を選択して、「OK」ボタンを押します。


「詳細設定」では、「送信メール」は587、「受信メール」は110とします。
3.jpg(43359 byte)

POPアカウントの他に、IMAPアカウントでも使用できます。その場合も、 「受信メールサーバーと同じ設定を使用する」を選択して、「OK」ボタンを押します。


「送信メール」は587、「受信メール」は143です。


WINDOWS LIVE メール編

下記設定をします。「このサーバーは認証が必要」にチェックを入れ、「設定」ボタンをクリックします。


「受信メールサーバと同じ設定をする」を選択します。「OK」ボタンをクリックします。


「詳細設定」では、「送信メール」は587、「受信メール」は110とします。
8.jpg(79974 byte)



- SSL(暗号化) -

YahooやGoogle、hotmailアカウントがあれば、送受信テストをします。外出先でも、この設定をパソコンにすれば 自宅サーバ経由でメールの送受信が出来ます。ただし、通信内容が暗号化されていません。平文で流れるため 暗号化(SSL)設定をします。事前にSSL証明書を作成していることが必要です。

Posftix及びDovecotの設定内容変更・保存します。
         
[root@hoge123 ~]# vi /etc/postfix/main.cf 

- 最終行に以下内容を追加します -
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/ssl/server.crt
smtpd_tls_key_file = /etc/ssl/server.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 

[root@hoge123 ~]# vi /etc/postfix/master.cf

22-24行目、行頭の#を削除して、有効にします。

smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes

[root@hoge123 ~]# vi /usr/local/etc/dovecot.conf 

protocols = imap pop3
↓ 変更します。
protocols = imap pop3 imaps pop3s

ssl = no
↓ 変更します。
ssl = yes 

#ssl_cert_file = /etc/ssl/certs/dovecot.pem
↓ 先頭の#を削除して、変更します。
ssl_cert_file = /etc/ssl/server.crt 

#ssl_key_file = /etc/ssl/private/dovecot.pem
↓ 先頭の#を削除して、変更します。
ssl_key_file = /etc/ssl/server.key 

[root@hoge123 ~]# /usr/local/etc/rc.d/postfix restart
[root@hoge123 ~]# /usr/local/etc/rc.d/dovecot restart





- メールクライアントの設定(2) -

Windows Live メール編

既にSmtp-Authの設定をしている事を前提に、下記の変更をメールソフトにします。 「送信メール」465、「受信メール」995(IMPAの場合993)に変更します。 両方とも「このサーバーはセキュリティで保護された接続(SSL)が必要」にチェックを 入れ、保存します。設定内容は、他のメールソフトでも同じです。

セキュリティ警告が表示されますが、「はい」を選択します。


送受信テストをします。これで暗号化された通信が可能になります。

自宅サーバ構築(FreeBSD9)に戻る


Copyright(C) PCDEMAGIC All Rights Reserved.