ConoHaでメールサーバを構築しようとしたのだけれど薄い本(専門書)の設定をしただけではメールができなかったので、いろいろ調査して設定を試してみたらメールサーバが完成したので、その時のログです。
また、途中に参考にさせて頂いたサイトのリンクを載せています。
まずはConoHaの薄い本通りに設定
この時、/etc/postfix/main.cfの最後の設定(smtpd_recipient_restrictions)の項目はカンマかもしくは改行した時にスペースが必要
参考にしたのはこちら
それから、今回構築するメールサーバはドメインtetsis.com全体のメールサーバにする予定なのでmydestinationsを以下の様に変更
/etc/postfix/main.cf
mydestination = $myhostname, localhost.$mydomain, localhost ↓ mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
それから、私の環境ではISPが25番ポートの通信を遮断しているみたい(OB25B)なので通常のSMTPではサーバと通信できないのでSubmission(587番)ポートを使ってサーバと通信するように設定
参考にしたのはこちら
/etc/postfix/master.cf
#submission inet n - n - - smtpd ↓(コメントを外す) submission inet n - n - - smtpd
ここまででローカル配送ができる
しかし、Gmail配送できない。ログを見るとIPv6で通信しているので今回は通信をIPv4に限定する
/etc/postfix/main.cf
inet_protocols = all ↓ inet_protocols = ipv4
これでGmailに配送できる
しかし、迷惑メールトレイに入れられてしまうので、DNSにSPFレコードを追加する
以下の図はDNSのお名前.comにSPFレコードを登録した状態
VALUE部分は「v=spf1 +ip4:(IPアドレス) ~all」にする
参考にしたのはこちら
ここまででGmailの受信トレイに入れられる
一応ConoHaにメールサーバを構築する目標が達成
メールの暗号化
SMTPS、POP3S、IMAPSに対応させる
まずは自己証明書を作成する
[root@www ~]# cd /etc/pki/tls/certs [root@www certs]# make server.key umask 77 ; \ /usr/bin/openssl genrsa -aes128 2048 > server.key Generating RSA private key, 2048 bit long modulus .........................................+++ ...............................+++ e is 65537 (0x10001) Enter pass phrase: Verifying - Enter pass phrase: [root@www certs]# openssl rsa -in server.key -out server.key Enter pass phrase for server.key: writing RSA key [root@www certs]# make server.csr umask 77 ; \ /usr/bin/openssl req -utf8 -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:JP State or Province Name (full name) [] ~ Locality Name (eg, city) [Default City]: Organization Name (eg, company) [Default Company Ltd]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:www.tetsis.com Email Address []:info@tetsis.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: [root@www certs]# [root@www certs]# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650 Signature ok subject=/C=JP/L=Default City/O=Default Company Ltd/CN=www.tetsis.com/emailAddress=info@tetsis.com Getting Private key [root@www certs]# cp server.key ../private/
最後にPostfixとDovecotの設定をする
/etc/postfix/main.cfに以下を追加
smtpd_use_tls = yes smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt smtpd_tls_key_file = /etc/pki/tls/private/server.key smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache smtpd_tls_session_cache_timeout = 3600s
/etc/postfix/master.cfの以下のコメントを外す
smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
/etc/dovecot/conf.d/10-sslを以下のように修正
#ssl = yes ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem ↓ ssl = yes ssl_cert = </etc/pki/dovecot/certs/server.crt ssl_key = </etc/pki/dovecot/private/server.key
/etc/dovecot/conf.d/10-master.confを以下のように修正
service imap-login { inet_listener imap { #port = 143 port = 0 } inet_listener imaps { port = 993 ssl = yes } service pop3-login { inet_listener pop3 { #port = 110 port = 0 } inet_listener pop3s { port = 995 ssl = yes } }
最後にPostfixとDovecotを再起動する
# service postfix restart # service dovecot restart