{"id":1674,"date":"2021-07-02T02:10:44","date_gmt":"2021-07-01T18:10:44","guid":{"rendered":"http:\/\/blog.infinity.idv.tw\/?p=1674"},"modified":"2021-07-02T02:12:06","modified_gmt":"2021-07-01T18:12:06","slug":"postfix-pop3_smtp%e5%8a%a0%e5%85%a5tls%e5%8a%a0%e5%af%86%e5%82%b3%e8%bc%b8","status":"publish","type":"post","link":"http:\/\/blog.infinity.idv.tw\/?p=1674","title":{"rendered":"Postfix-POP3_SMTP\u52a0\u5165TLS\u52a0\u5bc6\u50b3\u8f38"},"content":{"rendered":"<p><font size=\"3\">\u51fa\u8655\uff1a<\/font><\/p>\n<p><font size=\"3\">https:\/\/blog.xuite.net\/magic20095\/wretch\/111940549<\/font><\/p>\n<p><font size=\"3\">&lt; POP3\u53caIMAP \u90e8\u5206 &gt;     <br \/>\u7de8\u8f2f      <br \/>[root@mail ~]# vi \/etc\/pki\/dovecot\/dovecot-openssl.cnf      <br \/>[ req ]      <br \/>default_bits = 2048&#160;&#160; \u91d1\u9470\u9577\u5ea6\u9810\u8a2d\u70ba1024 bits      <br \/>encrypt_key = yes      <br \/>distinguished_name = req_dn      <br \/>x509_extensions = cert_type      <br \/>prompt = no<\/font><\/p>\n<p><font size=\"3\">[ req_dn ]     <br \/># country (2 letter code)      <br \/>C=TW&#160;&#160;&#160;&#160; \u570b\u5bb6\u6539\u70baTW<\/font><\/p>\n<p><font size=\"3\"># State or Province Name (full name)     <br \/>#ST=<\/font><\/p>\n<p><font size=\"3\"># Locality Name (eg. city)     <br \/>L=Taipei&#160;&#160; \u57ce\u5e02\u6539\u70ba\u53f0\u5317<\/font><\/p>\n<p><font size=\"3\"># Organization (eg. company)     <br \/>O=Flag&#160; \u516c\u53f8\u6539\u70baFlag<\/font><\/p>\n<p><font size=\"3\"># Organizational Unit Name (eg. section)     <br \/>OU=IMAP\/POP3 server&#160;&#160;&#160; #      <br \/># Common Name (*.example.com is also possible)      <br \/>CN=mail.flag.com.tw&#160;&#160;&#160; \u90f5\u4ef6\u4e3b\u6a5f<\/font><\/p>\n<p><font size=\"3\"># E-mail contact     <br \/><\/font><a><font size=\"3\">emailAddress=mis@flag.com.tw<\/font><\/a><font size=\"3\"> \u7ba1\u7406\u8005\u4fe1\u7bb1<\/font><\/p>\n<p><font size=\"3\">[ cert_type ]     <br \/>nsCertType = server      <br \/>\u63a5\u8457\u6aa2\u8996      <br \/>[root@mail ~]# vi \/etc\/dovecot.conf&#160; \u88e1\u9762\u6703\u8aaa\u660e\u6709\u95dcTLS\u6191\u8b49\u3001\u91d1\u9470\u6a94\u5b58\u653e\u8def\u5f91\u53ca\u6a94\u6848\u540d\u7a31 :      <br \/>ssl_cert_file = \/etc\/pki\/dovecot\/certs\/dovecot.pem&#160;&#160;&#160;&#160; \u6191\u8b49\u8def\u5f91      <br \/>ssl_key_file = \/etc\/pki\/dovecot\/private\/dovecot.pem&#160;&#160; \u91d1\u9470\u8def\u5f91      <br \/>\u63a5\u4e0b\u4f86      <br \/>[root@mail ~]# cd \/etc\/pki\/dovecot\/certs&#160;&#160;&#160;&#160; \u5207\u63db\u5230\u6b64\u76ee\u9304      <br \/>[root@mail certs]# mv dovecot.pem dovecot.pem.old&#160;&#160; \u5099\u4efd\u820a\u7684\u6191\u8b49      <br \/>[root@mail certst]# cd ..\/private      <br \/>[root@mail private]# mv dovecot.pem dovecot.pem.old&#160; \u5099\u4efd\u820a\u7684\u91d1\u9470      <br \/>[root@mail private]# \/usr\/share\/doc\/dovecot-1.0\/examples\/mkcert.sh&#160; \u7522\u751f\u65b0\u7684\u6191\u8b49\u53ca\u91d1\u9470      <br \/>\u57f7\u884c\/etc\/rc.d\/init.d\/dovecot restart&#160; \u5f8c\u5373\u8a2d\u5b9a\u5b8c\u6210!!      <br \/>PS : \u9632\u706b\u7246\u8a18\u5f97\u8981\u958b\u555f995 Port      <br \/><\/font><\/p>\n<p><font size=\"3\">&lt; SMTP\u90e8\u5206 &gt;     <br \/>\u7522\u751f certificate files for TLS      <br \/>cd \/etc\/postfix      <br \/>openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd.pem -days 3650<\/font><\/p>\n<p><font size=\"3\">\u7de8\u8f2f \/etc\/postfix\/main.cf \u52a0\u5165\u4e0b\u5217     <br \/># SASL      <br \/>smtpd_sasl_auth_enable=yes      <br \/>smtpd_recipient_restrictions=permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination      <br \/>smtpd_sasl_security_options=noanonymous      <br \/>broken_sasl_auth_clients=yes      <br \/># TLS      <br \/>smtp_use_tls = yes      <br \/>smtpd_use_tls = yes      <br \/>smtp_tls_note_starttls_offer = yes      <br \/>smtpd_tls_key_file = \/etc\/postfix\/smtpd.pem      <br \/>smtpd_tls_cert_file = \/etc\/postfix\/smtpd.pem      <br \/>smtpd_tls_CAfile = \/etc\/postfix\/smtpd.pem      <br \/>smtpd_tls_loglevel = 1      <br \/>smtpd_tls_received_header = yes      <br \/>smtpd_tls_session_cache_timeout = 3600s      <br \/>tls_random_source = dev:\/dev\/urandom      <br \/>\u91cd\u65b0\u555f\u52d5 postfix \u548c saslauthd      <br \/>\u6e2c\u8a66\u662f\u5426\u751f\u6548 :      <br \/>telnet localhost 25      <br \/>Trying 127.0.0.1&#8230;      <br \/>Connected to localhost.localdomain (127.0.0.1).      <br \/>Escape character is &#8216;^]&#8217;.      <br \/>220 mail.flag.com.tw ESMTP Postfix      <br \/>ehlo localhost      <br \/>250-mail.flag.com.tw      <br \/>250-PIPELINING      <br \/>250-SIZE 10240000      <br \/>250-VRFY      <br \/>250-ETRN      <br \/>250-STARTTLS&#160;&#160;&#160;&#160; \u652f\u63f4TLS\u52a0\u5bc6\u4e86      <br \/>250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN      <br \/>250-AUTH=CRAM-MD5 DIGEST-MD5 LOGIN PLAIN      <br \/>250-ENHANCEDSTATUSCODES      <br \/>250-8BITMIME      <br \/>250 DSN<\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u51fa\u8655\uff1a<\/p>\n<p>https:\/\/blog.xuite.net\/magic20095\/wretch\/111940549<\/p>\n<p>&lt; POP3\u53caIMAP \u90e8\u5206 &gt;     \u7de8\u8f2f      [root@mail ~]# vi \/etc\/pki\/dovecot\/dovecot-openssl.cnf      [ req ]      default_bits = 2048&#160;&#160; \u91d1\u9470\u9577\u5ea6\u9810\u8a2d\u70ba1024 bits      encrypt_key = yes      distinguished_name = req_dn    [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":[],"categories":[255],"tags":[674],"_links":{"self":[{"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/1674"}],"collection":[{"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1674"}],"version-history":[{"count":3,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/1674\/revisions"}],"predecessor-version":[{"id":1677,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/1674\/revisions\/1677"}],"wp:attachment":[{"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1674"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}