EC2 Centos7 で、Postfix、Dovecot、Postfixadmin の構築

  • 16
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

AWS EC2Centos7を想定し、Postfix、Dovecot、amavisd、Postfixadminで構築したときのメモです。
ドメインの登録、Elastic IPの割り当て、ポート 22, 25, 80, 110, 443, 465, 587, 995 は、開けてあるものとします。

メールサーバーの接続構成

タイプ ポート番号 暗号化の種類
SMTP 25 --
SMTPS 465 SSL/TLS
SMTP 587 STARTTLS
POP3 110 STARTTLS
POP3S 995 SSL/TLS

構築時の各バージョン

アプリなど バージョン
Apache 2.4.6
PHP 7.0.5
Mysql 5.6.30
Postfix 2.10.1
Dovecot 2.2.10
postfixadmin 2.93

 
今回は、下記のような方法で サブドメインでアクセスするタイプになります。
https://admin.ドメイン名/postfixadmin

 

Webサーバーで扱う管理者の作成と権限

主に、phpAdmin、postfixadminなどで使用する

リポジトリ追加
$ sudo groupadd -g 20000 webadmin
$ sudo useradd -g webadmin -u 20000 webadmin 
$ sudo passwd webadmin
$ sudo -u webadmin mkdir -p /home/webadmin/www/public_html
$ sudo chown -R webadmin:webadmin /home/webadmin/www

webadminユーザーは、sudoでvmailユーザーのみ「sudo -u vmail」になれるようにする。

$ sudo vim /etc/sudoers.d/webadmin
/etc/sudoers.d/webadminの作成
# phpでexec()でsudoコマンドを有効にさせるために追加します。
Defaults:webadmin !requiretty
webadmin          ALL=(vmail)  NOPASSWD:ALL

suコマンドは、wheelグループに所属しているユーザのみ扱えるようにする。

$ sudo vim /etc/login.defs

末尾に追加

/etc/login.defsの編集
SU_WHEEL_ONLY yes

ファイルの編集

$ sudo vim /etc/pam.d/su

コメントを外す

/etc/pam.d/suの編集
auth required /lib/security/pam_wheel.so use_uid 

 
 
 
 

WEBサーバーの構築

既に構築済みの場合は、読み飛ばしてかまわないです。

インストール&サービスの登録

リポジトリ追加

php7を入れるのに必要。現時点でデフォルトで5.4

リポジトリ追加
$ sudo yum install epel-release
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Apache & php7

webサーバー
$ sudo yum install -y gcc httpd httpd-devel mod_ssl libcap-devel
$ sudo yum install --enablerepo=remi,remi-php70 php php-mbstring php-mcrypt php-opcache php-mysqlnd php-gd php-devel php-imap php-gd php-pdo php-pear
$ sudo systemctl enable httpd.service

phpの設定

webサーバー
$ sudo vim /etc/php.ini
/etc/php.ini
date.timezone = 'Asia/Tokyo'
include_path = ".:/usr/share/php:/usr/share/pear"

mod_ruid2の作成

バーチャルホスト毎に、権限を変えたかったので、mod_ruid2を使います。
※mod_ruid2を有効にするには、SELinuxは無効にしてください

まずは、下記のサイトからDLし解凍しましょう。

https://github.com/mind04/mod-ruid2

インストールしていない場合
$ sudo yum install wget unzip
DLと解凍とビルド
$ wget https://github.com/mind04/mod-ruid2/archive/master.zip
$ unzip master.zip
$ sudo apxs -i -c -l cap mod-ruid2-master/mod_ruid2.c
ビルド後
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/lib64/httpd/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/lib64/httpd/modules/mod_ruid2.so

ビルド後、このようなメッセージがでれば、使用可能になります。

通常、自動でhttpd.conf内に書き込まれますが、無い場合、以下の物を書き込んでください。

/etc/httpd/conf/httpd.conf
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule ruid2_module modules/mod_ruid2.so

新規にpostfixadminで使用するバーチャルホストを作ります。

バーチャルホストの作成
$ sudo vim /etc/httpd/conf.d/admin.conf
/etc/httpd/conf.d/admin.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName admin.ドメイン名:443
    ServerAlias ドメイン名
    DocumentRoot /home/webadmin/www/public_html
    <Directory "/home/webadmin/www/public_html">
      Options -Indexes
      Require all granted
      Allow from all
      AllowOverride All
    </Directory>

    <IfModule mod_ruid2.c>
        RMode    config
        RUidGid  webadmin webadmin
        #RGroups  apachetmp
    </IfModule>

    SSLEngine on

    SSLCertificateFile    /etc/pki/tls/certs/localhost.crt
    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

    ErrorLog logs/admin_ssl_err
</VirtualHost>
</IfModule>

個々の環境に合わせて設定してください。さらに、BASIC認証を付け加えても良いかもしれません。
ちなみに、/home/webadmin/www/public_html の中に、postfixadminを入れます。
ほかにも、phpMyAdminなど、管理者用のwebアプリを入れても良いかもしれません。

/home/webadmin/www/public_html の中に、下記の index.php をアップロードしてください。

index.php
<?php
header('HTTP', true, 404);
?>
404 (Not Found)
webサーバーの起動
$ sudo systemctl start httpd.service

https://admin.ドメイン名/

webサーバーを起動後、404 (Not Found)が表示されているか確かめてください。
 
 
 
 

Mysql5.6の構築

インストール&サービスの登録

リポジトリの追加

php5.6を入れるのに必要。現時点でデフォルトで5.5になります。

リポジトリの追加
$ sudo yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
DB
$ sudo yum -y install mysql-community-server mysql mysql-devel mysql-server mysql-utilities
$ sudo systemctl enable mysqld.service
$ sudo systemctl start mysqld.service
DB
$ mysql -u root

初期設定

rootパスワードをきめ、匿名ユーザーの削除します。

DB
mysql> UPDATE mysql.user SET Password=PASSWORD('ルートパスワード') WHERE User='root';
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

phpMyAdminのすすめ

https://www.phpmyadmin.net/ より、ダウンロード&解凍し
/home/webadmin/www/public_html へphpMyAdminを入れることをおすすめします。
少し設定するだけで、直ぐに使用できます。詳しい説明は、ググってください。

メールサーバーで使用する、ユーザーとDBを作成

接続済みです。

ユーザーとDBの作成
mysql> CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'postfixのパスワード';
mysql> CREATE DATABASE postfix CHARACTER SET utf8;
mysql> GRANT ALL ON postfix.* to postfix@localhost;
mysql> EXIT;

 
 
 
 

メールサーバーの構築

インストール&サービスの登録

$ sudo yum install -y postfix dovecot dovecot-mysql
$ sudo systemctl enable postfix.service
$ sudo systemctl enable dovecot.service

MTAの切り変え

初期状態で、sendmail.postfix なので、切り替える必要は無いです。

 

バーチャルドメイン用のユーザとメール用ディレクトリの作成

$ sudo groupadd -g 10000 vmail
$ sudo useradd -g vmail -u 10000 vmail /var/vmail
$ sudo mkdir -p -m 0700 /var/vmail/{vhosts,bin,deleted-vhosts}
$ sudo chown -R vmail:vmail /var/vmail

 

smtpd用に暗号化ファイルを作る

dh2048.pemおよびdh512.pemは、Postfix SMTPサーバがEDH暗号で使うDHパラメータを持つファイル。
cert.pemは、PEMフォーマットの、Postfix SMTPサーバRSA証明書を持つファイル。
privkey.pemは、PEMフォーマットでの、Postfix SMTPサーバRSAプライベートキーを持つファイル。

$ sudo mkdir -p /etc/postfix/ssl/dhparams/
$ sudo openssl dhparam -out /etc/postfix/ssl/dhparams/dh2048.pem 2048
$ sudo openssl dhparam -out /etc/postfix/ssl/dhparams/dh512.pem 512
$ sudo mkdir -p /etc/postfix/ssl/selfsigned/
$ sudo openssl req -new -newkey rsa:4096 -days 3658 -sha256 -nodes -x509 \
      -subj "/C=JP/ST=Shizuoka/L=Shizuoka/O=Mailserver certificate/OU=Mail/CN=www.ドメイン名/emailAddress=admin@ドメイン名" \
      -keyout /etc/postfix/ssl/selfsigned/privkey.pem \
      -out /etc/postfix/ssl/selfsigned/cert.pem

-subj は、個々の環境に合わせてください。

postfixの設定

データベースへのアクセス用のクエリ作成

ディレクトリの作成
$ sudo mkdir -p /etc/postfix/mysql

virtual-alias-maps.cf

$ sudo vim /etc/postfix/mysql/virtual-alias-maps.cf
/etc/postfix/mysql/virtual-alias-maps.cf
hosts    = localhost
user     = postfix
password = postfixのパスワード
dbname   = postfix

query = SELECT goto FROM alias WHERE address='%s' AND active = 1

virtual-mailbox-domains.cf

virtual-mailbox-domains.cf
$ sudo vim /etc/postfix/mysql/virtual-mailbox-domains.cf
/etc/postfix/mysql/virtual-mailbox-domains.cf
hosts    = localhost
user     = postfix
password = postfixのパスワード
dbname   = postfix

query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 0 and active = 1

virtual-mailbox-maps.cf

virtual-mailbox-maps.cf
$ sudo vim /etc/postfix/mysql/virtual-mailbox-maps.cf
/etc/postfix/mysql/virtual-mailbox-maps.cf
hosts    = localhost
user     = postfix
password = postfixのパスワード
dbname   = postfix

query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1

virtual-mailbox-limit-maps.cf

virtual-mailbox-limit-maps.cf
$ sudo vim /etc/postfix/mysql/virtual-mailbox-limit-maps.cf
/etc/postfix/mysql/virtual-mailbox-limit-maps.cf
user = postfix
password = postfixのパスワード
hosts = localhost
dbname = postfix
query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'

 
 

main.cfの編集

main.cfの編集
$ sudo vim /etc/postfix/main.cf
/etc/postfix/main.cf
myhostname = mail.ドメイン名
mydomain = ドメイン名
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = localhost localhost.$mydomain
mynetworks = 127.0.0.0/8
recipient_delimiter  = +
header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = regexp:/etc/postfix/header_checks
smtpd_banner = ESMTP $mail_name
readme_directory = no
mailbox_command = procmail -a "$EXTENSION"

biff                 = no
append_dot_mydomain  = no
delay_warning_time   = 4h
disable_vrfy_command = yes
message_size_limit   = 51200000
mailbox_size_limit   = 102400000


#
# ポストマスターに報告されるエラークラスのリスト
# 頻繁に送られて邪魔な場合は、コメントしてOK
#
notify_classes = resource, software
error_notice_recipient     = admin@ドメイン名


#
# Smtp
#
smtp_tls_loglevel            = 1
smtp_tls_security_level      = may
#smtp_tls_CAfile              = 
smtp_tls_protocols           = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_ciphers   = high
smtp_tls_exclude_ciphers     = aNULL, eNULL, EXPORT, DES, 3DES, RC2, RC4, MD5, PSK, SRP, DSS, AECDH, ADH
smtp_tls_note_starttls_offer = yes

#
# Smtpd
#
smtpd_tls_loglevel            = 1
smtpd_tls_auth_only           = yes
smtpd_tls_security_level      = may
smtpd_tls_received_header     = yes
smtpd_tls_protocols           = !SSLv2, !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers   = medium

#smtpd_tls_CAfile              = $smtp_tls_CAfile
smtpd_tls_cert_file           = /etc/postfix/ssl/selfsigned/cert.pem
smtpd_tls_key_file            = /etc/postfix/ssl/selfsigned/privkey.pem
smtpd_tls_dh1024_param_file   = /etc/postfix/ssl/dhparams/dh2048.pem
smtpd_tls_dh512_param_file    = /etc/postfix/ssl/dhparams/dh512.pem

tls_preempt_cipherlist = yes
tls_random_source      = dev:/dev/urandom

smtp_tls_session_cache_database  = btree:${data_directory}/smtp_scache
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
lmtp_tls_session_cache_database  = btree:${data_directory}/lmtp_scache


#
# SASL
#

smtpd_sasl_auth_enable          = yes
smtpd_sasl_type                 = dovecot
smtpd_sasl_path                 = private/auth
smtpd_sasl_security_options     = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_local_domain         = $mydomain
smtpd_sasl_authenticated_header = yes

broken_sasl_auth_clients = yes

#
# Virtual mail box
#

virtual_uid_maps        = static:10000
virtual_gid_maps        = static:10000
virtual_minimum_uid     = 10000
virtual_mailbox_base    = /var/vmail/vhosts
virtual_transport       = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql/virtual-mailbox-domains.cf
virtual_mailbox_maps    = mysql:/etc/postfix/mysql/virtual-mailbox-maps.cf
virtual_alias_maps      = mysql:/etc/postfix/mysql/virtual-alias-maps.cf

# 容量制限
virtual_create_maildirsize = yes
virtual_mailbox_extended   = yes
virtual_mailbox_limit      = 102400000
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql/virtual-mailbox-limit-maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
virtual_overquota_bounce = yes 


#
# アクセス制限
#

smtpd_recipient_restrictions =
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_non_fqdn_recipient,
     reject_unauth_destination,
     reject_unknown_recipient_domain,
     reject_rbl_client all.rbl.jp,
     reject_rbl_client bl.spamcop.net,
     reject_rbl_client zen.spamhaus.org

smtpd_helo_restrictions =
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_invalid_helo_hostname,
     reject_non_fqdn_helo_hostname

smtpd_client_restrictions =
     permit_mynetworks,
     permit_inet_interfaces,
     permit_sasl_authenticated

smtpd_sender_restrictions =
     reject_non_fqdn_sender,
     reject_unknown_sender_domain

mynetworks は、個々の環境に合わせてください。
 
 

header_checksの編集

ヘッダチェックファイルの設定をします。

header_checks
$ sudo vim /etc/postfix/header_checks
/etc/postfix/header_checks
/^Received:.*with ESMTPSA/  IGNORE
/^X-Originating-IP:/        IGNORE
/^X-Mailer:/                IGNORE
/^User-Agent:/              IGNORE

必要に応じて追加

header_checks
$ sudo postmap /etc/postfix/header_checks

master.cfの編集

header_checks
$ sudo vim /etc/postfix/master.cf
/etc/postfix/header_checks
submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_dh1024_param_file=/etc/postfix/ssl/dhparams/dh2048.pem
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
465       inet  n       -       n       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

 
 
 

Dovecotの設定

dovecot.confの編集

dovecot.confの編集
$ sudo vim /etc/dovecot/dovecot.conf
/etc/dovecot/dovecot.conf
protocols = pop3 lmtp
listen = *
#mail_debug = yes

最初のうちは、** mail_debug = yes** で様子見したほうが良いかもしれません。
 

dovecot-sql.conf.extの作成

dovecot.confの編集
$ sudo vim /etc/dovecot/dovecot-sql.conf.ext
/etc/dovecot/dovecot-sql.conf.ext
driver   = mysql
connect  = host=localhost dbname=postfix user=postfix password=postfixパスワード
default_pass_scheme = SHA512-CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active='1'
user_query = SELECT CONCAT('/var/vmail/vhosts/', maildir) AS mail, 10000 AS uid, 10000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active='1'

10-auth.confの編集

10-auth.confの編集
$ sudo vim /etc/dovecot/conf.d/10-auth.conf
/etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
auth_mechanisms = plain login
#!include auth-system.conf.ext
!include auth-sql.conf.ext

10-mail.confの編集

10-mail.confの編集
$ sudo vim /etc/dovecot/conf.d/10-mail.conf
/etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/var/vmail/vhosts/%d/%n/
maildir_stat_dirs=yes

mail_uid = 10000
mail_gid = 10000

first_valid_uid = 10000
last_valid_uid  = 10000

mail_privileged_group = vmail

10-master.confの編集

10-mail.confの編集
$ sudo vim /etc/dovecot/conf.d/10-master.conf
/etc/dovecot/conf.d/10-master.conf
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0666
    user = postfix
    group = postfix
  }
}

service auth {
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
    group = vmail
  }

  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

  user = dovecot
}

service auth-worker {
  user = vmail
}

10-ssl.confの編集

10-ssl.confの編集
$ sudo vim /etc/dovecot/conf.d/10-ssl.conf
/etc/dovecot/conf.d/10-ssl.conf
ssl_cert = </etc/postfix/ssl/selfsigned/cert.pem
ssl_key = </etc/postfix/ssl/selfsigned/privkey.pem
ssl_dh_parameters_length = 2048
ssl_cipher_list = EECDH+AES:EDH+AES+aRSA
ssl_prefer_server_ciphers = yes

20-lmtp.confの編集

20-lmtp.confの編集
$ sudo vim /etc/dovecot/conf.d/20-lmtp.conf
/etc/dovecot/conf.d/20-lmtp.conf
protocol lmtp {
  postmaster_address = postmaster@ドメイン名
  mail_plugins = $mail_plugins
}

 

Postfix & Dovecot 起動

$ sudo systemctl start postfix.service
$ sudo systemctl start dovecot.service

 
 
 

postfixadmin

ここではバージョン2.93ですが、最新版を暖ダウンロードしてください。

$ wget https://sourceforge.net/projects/postfixadmin/files/postfixadmin/postfixadmin-2.93/postfixadmin-2.93.tar.gz/download
$ mv ./download postfixadmin-2.93.tar.gz
$ tar xfvz postfixadmin-2.93.tar.gz
$ mv ./postfixadmin-2.93 /home/webadmin/www/public_html/postfixadmin
$ sudo mv /home/webadmin/www/public_html/postfixadmin/ADDITIONS/*.sh /var/vmail/bin
$ rm -R /home/webadmin/www/public_html/postfixadmin/ADDITIONS
$ sudo chown -R vmail:vmail /var/vmail/bin/
$ sudo sh -c "chmod 0700 /var/vmail/bin/*.sh"

config.inc.phpの編集

/home/webadmin/www/public_html/postfixadmin/config.inc.php
$CONF['configured'] = true;
$CONF['default_language'] = 'ja';
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'postfixパスワード';
$CONF['database_name'] = 'postfix';

$CONF['encrypt'] = 'dovecot:SHA512-CRYPT';
$CONF['dovecotpw'] = "doveadm pw -s SHA512-CRYPT";

$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';

$CONF['mailbox_postcreation_script']='sudo -u vmail /var/vmail/bin/postfixadmin-mailbox-postcreation.sh';
$CONF['mailbox_postdeletion_script']='sudo -u vmail /var/vmail/bin/postfixadmin-mailbox-postdeletion.sh';
$CONF['domain_postdeletion_script'] ='sudo -u vmail /var/vmail/bin/postfixadmin-domain-postdeletion.sh';

自動でドメインディレクトリ&メールボックスディレクトリが作成および削除を、存在のシェルで対応しています。
 

postfixadmin-mailbox-postcreation.shの編集

/var/vmail/vhosts/ドメイン名/、のメールボックスディレクトリを作成するシュル。

$ sudo vim /var/vmail/bin/postfixadmin-mailbox-postcreation.sh
/var/vmail/bin/postfixadmin-mailbox-postcreation.sh
basedir=/var/vmail/vhosts
mkdir -p -m 0700 "${parent}"
#maildirmake "$maildir"
mkdir -p -m 0700 $maildir/{new,cur,tmp,.Drafts,.Junk,.Trash,.Sent}

 

postfixadmin-mailbox-postdeletion.shの編集

/var/vmail/vhosts/ドメイン名/、のメールボックスディレクトリを削除するシュル。

$ sudo vim /var/vmail/bin/postfixadmin-mailbox-postdeletion.sh
/var/vmail/bin/postfixadmin-mailbox-postdeletion.sh
basedir=/var/vmail/vhosts
trashbase=/var/vmail/deleted-vhosts

 

postfixadmin-domain-postdeletion.shの編集

/var/vmail/vhosts 内のドメイン名のディレクトリを削除するシュル。
削除された、ドメインディレクトリは、/var/vmail/deleted-vhosts へ日付付きで移動されます。

$ sudo vim /var/vmail/bin/postfixadmin-domain-postdeletion.sh
/var/vmail/bin/postfixadmin-domain-postdeletion.sh
basedir=/var/vmail/vhosts
trashbase=/var/vmail/deleted-vhosts

後の設定と構築は、ググると沢山出てくるので、後はお任せします。
 
 
 

接続テスト

コンソール1
$ sudo tail -f /var/log/maillog

2画面でログを見ながらテストすることをおすすめします。下記の5つのテストで、とくに問題が無ければ、PostfixとDovecotの設定は終了です。

SMTP port:25

コンソール2
$ telnet ドメイン名 25
Trying 52.196.8.213...
Connected to ドメイン名.
Escape character is '^]'.
220 ドメイン名 ESMTP Postfix
ehlo localhost
... 省略
quit
221 2.0.0 Bye
Connection closed by foreign host.

SMTP SSL/TLS port:465

コンソール2
$ openssl s_client -connect ドメイン名:465 -tlsextdebug
CONNECTED(00000003)
... 省略
220 ドメイン名 ESMTP Postfix
quit
221 2.0.0 Bye
closed

SMTP STARTTLS port:587

コンソール2
$ openssl s_client -connect ドメイン名:587 -starttls smtp -tlsextdebug
CONNECTED(00000003)
... 省略
250 DSN
quit
221 2.0.0 Bye
closed

POP3 STARTTLS port:110

コンソール2
$ openssl s_client -connect ドメイン名:110 -starttls pop3 -tlsextdebug
CONNECTED(00000003)
... 省略
---
+OK Dovecot ready.
quit
closed

POP3 SSL/TLS pop3:995

コンソール2
$ openssl s_client -connect ドメイン名:995 -tlsextdebug
CONNECTED(00000003)
... 省略
+OK Dovecot ready.
quit
closed

 
 
 

最後に

これで、無事メールの送受信ができるようになりました。
https://admin.ドメイン名/postfixadmin
 
メールソフトThunderbirdを使用したところ、自動設定で難なくメールの送受信ができました。
 

以上で終わりになります。