このチュートリアルに従って、仮想ユーザーのバックエンドとしてdovecotとmysqlを使用してpostfixメールサーバーをセットアップしました。
これで、ほとんどの部分が動作するようになり、POP3(S)とIMAP(S)に接続できます。
を使用して
echo TEST-MAIL | mail myaccount@hotmail.com
Hotmailアカウントにログインすると、メールが表示されます。
また、逆故にための私のMXエントリで働くexample.comは、私がメールを受信することができることから送られていますので、最終的には、伝播してきたmyaccount@hotmail.comにmyvirtualuser@example.comやIMAP経由でSTARTTLSを使用して、Thunderbirdの中でそれらを表示します。
myvirtualuser@example.comにログインしているThunderbirdを使用してmyaccount@hotmail.comにメールを送信しようとすると、「5.7.1:リレーアクセスが拒否されました」というエラーメッセージが表示された後、もう少し調査して、サーバーが動作していることがわかりました「オープンメールリレー」として、もちろん-これは悪いことです。
このコメントやその他のチュートリアルなどのチュートリアルのオプション部分をさらに掘り下げて、これらの手順を完了することで、エラーメッセージ「5.7.1」が表示されず、myvirtualuser @ example.com経由でMozilla Thunderbird 経由でメールを送信できるようにしました。:リレーアクセスが拒否されました "(一般的なメールサーバーはオープンリレーされた電子メールを拒否するため)。
しかし今、SMTPSでpostfixを動作させようとするとエラーが発生しました。/var/log/mail.logで
Sep 28 17:29:34 domain postfix/smtpd[20251]: warning: cannot get RSA private key from file /etc/ssl/certs/postfix.pem: disabling TLS support
Sep 28 17:29:34 domain postfix/smtpd[20251]: warning: TLS library problem: 20251:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:650:Expecting: ANY PRIVATE KEY:
Sep 28 17:29:34 domain postfix/smtpd[20251]: warning: TLS library problem: 20251:error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib:ssl_rsa.c:669:
Thunderbirdのポート465経由でSMTP SSL / TLSを使用して、新しくインストールしたメールサーバーからメールを送信しようとした直後に、このエラーがログに記録されます。その後、Thunderbirdはタイムアウトが発生したことを通知します。
Googleにはその問題に関していくつかの結果がありますが、それらのいずれでも動作させることができませんでした。ここではそれらの一部をリンクしますが、新しいユーザーとして使用できるのは2つのハイパーリンクのみです。
私の/etc/postfix/master.cfは次のようになります
smtp inet n - - - - smtpd
smtps inet n - - - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
そして、nmapのは、私に語りました
PORT STATE SERVICE
[...]
465/tcp open smtps
[...]
私の/etc/postfix/main.cfは次のようになります
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
readme_directory = no
#smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem #default postfix generated
#smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key #default postfix generated
smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smptd_tls_key_file = /etc/ssl/private/postfix.pem
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smptd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
myhostname = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost.com, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
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_transport = dovecot
dovecot_destination_recipient_limit = 1
mailbox_command = /usr/lib/dovecot/deliver
* .pemファイルは、上記のチュートリアルで説明したように作成されました。
Postfix
To create a certificate to be used by Postfix use:
openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/postfix.pem -keyout /etc/ssl/private/postfix.pem
Do not forget to set the permissions on the private key so that no unauthorized people can read it:
chmod o= /etc/ssl/private/postfix.pem
You will have to tell Postfix where to find your certificate and private key because by default it will look for a dummy certificate file called "ssl-cert-snakeoil":
postconf -e smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
postconf -e smtpd_tls_key_file=/etc/ssl/private/postfix.pem
imapsとpop3sを介したログインはログに従って正常に動作するため、ここに/etc/dovecot/dovecot.confを含める必要はないと思います。唯一の問題は、postfixが自己生成の自己署名証明書を適切に使用することです。
どんな助けも感謝します!
編集: 私はpostfix用の自己署名証明書を生成するこの別のチュートリアルを試しましたが、それでも同じエラーが発生します。私は本当に他に何をテストすべきかわかりません。
SSLライブラリもチェックしましたが、すべて問題ないようです:
root@domain:~# ldd /usr/sbin/postfix
linux-vdso.so.1 => (0x00007fff91b25000)
libpostfix-global.so.1 => /usr/lib/libpostfix-global.so.1 (0x00007f6f8313d000)
libpostfix-util.so.1 => /usr/lib/libpostfix-util.so.1 (0x00007f6f82f07000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007f6f82cb1000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f6f82910000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00007f6f826f7000)
libdb-4.8.so => /usr/lib/libdb-4.8.so (0x00007f6f8237c000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00007f6f82164000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00007f6f81f4e000)
libc.so.6 => /lib/libc.so.6 (0x00007f6f81beb000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f6f819e7000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f6f817d0000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f6f815b3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6f83581000)
次の後アンスガーWiechersの指示をそのは最終的に取り組んでいます。
postconf -n
あるべき行を含んでいた。opensslを介した証明書/キーチェックにより、両方のファイルが有効であることが示されました。
したがって、実際にはアクセス許可の問題でした!/etc/ssl/*/postfix.pemファイルをpostfix:postfixにchownするだけでは、postfixがファイルを読み取るのに十分ではないことを知りませんでした。