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

自宅サーバ構築MY HOME SERVER

メールサーバ(Postfix / Dovecot) Postfixの設定 Dovecotの設定 メール不正中継テスト メールクライアントの設定

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

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

- 注意点 -
設定に入る前に、現在使用している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の設定 -

まずは、Posftixの設定をします。サーバ取得・インストールの手順どおり進んでいれば、既に インストールされています。
         
[root@hoge123 ~]# vi /etc/postfix/main.cf

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

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

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

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

inet_interfaces = localhost
		↓ 先頭に#を付けて、コメントアウトします。
#inet_interfaces = localhost

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

#mynetworks_style = subnet
		↓ 先頭の#を削除します
mynetworks_style = subnet

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

#header_checks = regexp:/etc/postfix/header_checks
		↓ 先頭の#を削除します
header_checks = regexp:/etc/postfix/header_checks
body_checks = regexp:/etc/postfix/body_checks ← 下に追記します。

smtpd_banner = $myhostname ESMTP ← #smtpd_bannerのある辺りに、追記します。

		↓ 最終行に追記します。
relayhost = [mail.xa2.so-net.ne.jp] ← 環境に合わせてください。
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit

smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject ← 実際は1行で追記してください。
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:/etc/postfix/smtpd_scache


次いで、アドレスのないメールやexample.comが含まれているメール拒否の設定をします。 それと、サブミッションポート587番でもPostfixがSMTPサーバとして待ち受けをするようにします。
         
[root@hoge123 ~]# vi /etc/postfix/header_checks
↓ 先頭辺りに貼り付けます。 
/^From:.*<#.*@.*>/ REJECT
/^Return-Path:.*<#.*@.*>/ REJECT

[root@hoge123 ~]# vi /etc/postfix/body_checks ← 新規作成します。
/^(|[^>].*)example.com/ REJECT

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

#submission inet n       -       n       -       -       smtpd
            ↓ #を削除します。
submission inet n       -       n       -       -       smtpd

#smtps     inet  n       -       -       -       -       smtpd
            ↓ #を削除します。
smtps     inet  n       -       -       -       -       smtpd

		↓ すぐ下にある以下の二項目の、#を削除します
#  -o smtpd_tls_wrappermode=yes
		
   -o smtpd_tls_wrappermode=yes
   
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject   
		
   -o smtpd_client_restrictions=permit_sasl_authenticated,reject   


ユーザーアカウントの追加方法です。例としてlinux123を追加します。追加後は、linux123@hoge123.dip.jp と言うメールアカウントが使用できます。(linux123のパスワードはメール設定で使用しますので、忘れな いでください)
         
[root@hoge123 ~]# useradd linux123← 任意のユーザ名を追加します。
[root@hoge123 ~]# passwd linux123
Changing password for user linux123.
New password: ← 設定したいパスワードを入力します。
Retype new password: ← パスワード再入力
passwd: all authentication tokens updated successfully.




- Dovecotの設定 -

Dovecotのインストール、設定をします。
[root@hoge123 ~]# yum -y install dovecot         
[root@hoge123 ~]# vi /etc/dovecot/dovecot.conf

#listen = *, ::
	↓ 先頭の#を削除、変更します。
listen = *

[root@hoge123 ~]# vi /etc/dovecot/conf.d/10-auth.conf 

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

auth_mechanisms = plain
	↓ 変更します。
auth_mechanisms = plain login

[root@hoge123 ~]# vi /etc/dovecot/conf.d/10-mail.conf

#   mail_location = maildir:~/Maildir
	↓ 先頭の#を削除します。 
mail_location = maildir:~/Maildir

[root@hoge123 ~]# vi /etc/dovecot/conf.d/10-master.conf 

  # Postfix smtp-auth
  #unix_listener /var/spool/postfix/private/auth {
  #  mode = 0666
  #}
	↓ 以下の通り変更します。 
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix ← 追記します。 
    group = postfix ← 追記します。 
  } ← #を削除します。

[root@hoge123 ~]# vi /etc/dovecot/conf.d/10-ssl.conf
#ssl = yes
↓ 先頭の#を削除します。
ssl = yes 

ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
		↓ 変更します。
ssl_cert = </etc/ssl/server.crt

ssl_key = </etc/pki/dovecot/private/dovecot.pem
		↓ 変更します。
ssl_key = </etc/ssl/server.key

[root@hoge123 ~]# /etc/rc.d/init.d/postfix restart
Shutting down Postfix:                                           [  OK  ]
Starting Postfix:                                                    [  OK  ]

[root@hoge123 ~]# chkconfig postfix on

[root@hoge123 ~]# /etc/rc.d/init.d/dovecot start
Starting Dovecot Imap:

[root@hoge123 ~]# chkconfig dovecot on




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

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

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

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



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

OUTLOOK EXPRESS編

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


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


「詳細設定」では、「送信メール」は465、「受信メール」は995とします。両方とも「 このサーバーはセキュリティで保護された接続(SSL)が必要」にチェックを入れます。


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


「送信メール」は465、「受信メール」は993です。両方とも「 このサーバーはセキュリティで保護された接続(SSL)が必要」にチェックを入れます。


WINDOWS LIVE メール編

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

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


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

自宅サーバ構築(Scientific Linux6.3)に戻る


Copyright(C) PCDEMAGIC All Rights Reserved.