{"id":10655,"date":"2025-03-06T15:40:19","date_gmt":"2025-03-06T06:40:19","guid":{"rendered":"https:\/\/www.k-in.co.jp\/niwakan\/?p=10655"},"modified":"2025-03-06T15:40:19","modified_gmt":"2025-03-06T06:40:19","slug":"mail-server%e3%81%ae%e7%a7%bb%e8%a1%8c%ef%bc%88%e3%81%9d%e3%81%ae51%ef%bc%89postfix%e3%80%81dovecot%e3%81%ae%e5%86%8d%e6%a7%8b%e7%af%89","status":"publish","type":"post","link":"https:\/\/www.k-in.co.jp\/niwakan\/archives\/2025\/03\/10655\/","title":{"rendered":"mail server\u306e\u79fb\u884c\uff08\u305d\u306e51\uff09Postfix\u3001Dovecot\u306e\u518d\u69cb\u7bc9"},"content":{"rendered":"<p><a href=\"https:\/\/www.k-in.co.jp\/niwakan\/archives\/2025\/03\/10222\/\">\u3042\u308c<\/a>\u304b\u3089\u8272\u3005\u3042\u308a\u307e\u3057\u305f\u3002<br \/>\n\u3082\u3046\u306d\u3001\u4f55\u3092\u9063\u3063\u3066\u3044\u305f\u304b\u899a\u3048\u3066\u3044\u307e\u305b\u3093\u2026\u2026<br \/>\n\u53d6\u308a\u6562\u3048\u305a\u3001Gmail\u306b\u9001\u4fe1\u3067\u304d\u305f\u307f\u305f\u3044\u306a\u306e\u3067\u3001\u6b64\u51e6\u8fc4\u306e\u8a2d\u5b9a\u306e\u899a\u3048\u66f8\u304d\u3067\u3059\u3002<br \/>\n<!--more--><\/p>\n<p>postconf\u3067\u73fe\u5728\u306e\u8a2d\u5b9a\u3092\u4e00\u901a\u308a\u66f8\u304d\u8a18\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"height:300 lang:default decode:true\" title=\"\">% postconf -a\r\ndovecot\r\n<\/pre>\n<pre class=\"height:300 lang:default decode:true\" title=\"\">% postconf -A\r\n\r\n<\/pre>\n<pre class=\"height:300 lang:default decode:true\" title=\"\">% postconf -n\r\nalias_database = hash:\/opt\/local\/etc\/aliases\r\nalias_maps = hash:\/etc\/aliases\r\ncommand_directory = \/opt\/local\/sbin\r\ncompatibility_level = 3.9\r\ncontent_filter = amavis:localhost:10024\r\ndaemon_directory = \/opt\/local\/libexec\/postfix\r\ndata_directory = \/opt\/local\/var\/lib\/postfix\r\ndebug_peer_level = 1\r\ndefault_privs = nobody\r\ndns_ncache_ttl_fix_enable = yes\r\nhtml_directory = no\r\ninet_interfaces = all\r\ninet_protocols = ipv4\r\nlmtp_tls_loglevel = 2\r\nlmtp_tls_session_cache_database = btree:$data_directory\/lmtp_tls_session_cache\r\nlocal_transport = local:$myhostname\r\nluser_relay = unknown_user@k-in.co.jp\r\nmail_owner = _postfix\r\nmail_spool_directory = \/Volumes\/Works\/Library\/mail\/\r\nmailbox_size_limit = 0\r\nmailbox_transport = lmtp:unix:private\/dovecot-lmtp\r\nmaillog_file = \/opt\/local\/var\/log\/postfix\/postfix_log\r\nmaillog_file_permissions = 0644\r\nmaillog_file_prefixes = \/opt\/local\/var\/log, \/opt\/local\/var\/log\/postfix\r\nmailq_path = \/opt\/local\/bin\/mailq\r\nmanpage_directory = \/opt\/local\/share\/man\r\nmydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, mail.$mydomain, smtp.$mydomain, imap.$mydomain\r\nmydomain = k-in.co.jp\r\nmyhostname = mail.k-in.co.jp\r\nmynetworks = 192.168.0.0\/24, 127.0.0.0\/8\r\nmyorigin = $mydomain\r\nnewaliases_path = \/opt\/local\/bin\/newaliases\r\npostscreen_access_list = permit_mynetworks hash:\/opt\/local\/etc\/postfix\/access cidr:\/opt\/local\/etc\/postfix\/access_cidr cidr:\/opt\/local\/etc\/postfix\/reject_cidr\r\npostscreen_bare_newline_action = enforce\r\npostscreen_bare_newline_enable = yes\r\npostscreen_blacklist_action = drop\r\npostscreen_cache_map = $data_directory\/postscreen_cache_map\r\npostscreen_denylist_action = drop\r\npostscreen_dnsbl_action = drop\r\npostscreen_dnsbl_allowlist_threshold = -2\r\npostscreen_dnsbl_sites = zen.spamhaus.org*3 b.barracudacentral.org=127.0.0.[2..11]*2 bl.spameatingmonkey.net*2 bl.spamcop.net dnsbl.sorbs.net list.dnswl.org=127.[0..255].[0..255].0*-2, list.dnswl.org=127.[0..255].[0..255].1*-4, list.dnswl.org=127.[0..255].[0..255].[2..3]*-6\r\npostscreen_dnsbl_threshold = 3\r\npostscreen_greet_action = drop\r\npostscreen_non_smtp_command_action = enforce\r\npostscreen_non_smtp_command_enable = yes\r\npostscreen_pipelining_action = enforce\r\npostscreen_pipelining_enable = yes\r\nqueue_directory = \/opt\/local\/var\/spool\/postfix\r\nreadme_directory = \/opt\/local\/share\/postfix\/readme\r\nreceive_override_options = no_address_mappings\r\nrelay_domains =\r\nrelayhost =\r\nsample_directory = \/opt\/local\/share\/postfix\/sample\r\nsendmail_path = \/opt\/local\/sbin\/sendmail\r\nsetgid_group = _postdrop\r\nsmtp_discard_ehlo_keywords = pipelining CRLF.CRLF\r\nsmtp_dns_support_level = dnssec\r\nsmtp_tls_loglevel = 2\r\nsmtp_tls_security_level = encrypt\r\nsmtp_tls_session_cache_database = btree:$data_directory\/smtp_tls_session_cache\r\nsmtpd_data_restrictions = reject_unauth_pipelining\r\nsmtpd_helo_required = yes\r\nsmtpd_helo_restrictions = permit_mynetworks reject_invalid_helo_hostname reject_non_fqdn_helo_hostname reject_unknown_helo_hostname\r\nsmtpd_proxy_options = speed_adjust\r\nsmtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unverified_recipient reject_unauth_destination reject_non_fqdn_sender reject_non_fqdn_recipient reject_invalid_hostname reject_unknown_hostname reject_non_fqdn_helo_hostname reject_rhsbl_helo dbl.spamhaus.org reject_rhsbl_reverse_client dbl.spamhaus.org reject_rhsbl_sender dbl.spamhaus.org\r\nsmtpd_sasl_auth_enable = yes\r\nsmtpd_sasl_local_domain = $mydomain\r\nsmtpd_sasl_path = private\/auth\r\nsmtpd_sasl_security_options = noanonymous, noactive, nodictionary\r\nsmtpd_sasl_tls_security_options = noanonymous\r\nsmtpd_sasl_type = dovecot\r\nsmtpd_sender_restrictions = reject_unknown_sender_domain reject_non_fqdn_sender reject_unverified_sender\r\nsmtpd_tls_auth_only = yes\r\nsmtpd_tls_cert_file = \/opt\/local\/etc\/postfix\/certs\/mail_server.pem\r\nsmtpd_tls_loglevel = 2\r\nsmtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1\r\nsmtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1\r\nsmtpd_tls_received_header = yes\r\nsmtpd_tls_security_level = may\r\nsmtpd_tls_session_cache_database = btree:$data_directory\/smtpd_tls_session_cache\r\nunknown_local_recipient_reject_code = 550\r\nvirtual_alias_maps = hash:\/opt\/local\/etc\/postfix\/virtual\r\nvirtual_gid_maps = static:510\r\nvirtual_mailbox_base = \/Volumes\/Works\/Library\/mail\r\nvirtual_mailbox_maps = hash:\/opt\/local\/etc\/postfix\/virtual\r\nvirtual_minimum_uid = 500\r\nvirtual_transport = lmtp:unix:private\/dovecot-lmtp\r\nvirtual_uid_maps = static:510\r\n<\/pre>\n<p>\u6b21\u306bdoveconf\u306e\u51fa\u529b\u7d50\u679c\u3002<\/p>\n<pre class=\"height:300 lang:default decode:true\" title=\"\">% doveconf -n\r\n# 2.3.21 (47349e2482): \/opt\/local\/etc\/dovecot\/dovecot.conf\r\n# OS: Darwin 17.7.0 x86_64  hfs\r\n# Hostname: macmini.lo.k-in.co.jp\r\ndoveconf: Error: t_readlink(\/opt\/local\/var\/run\/dovecot\/dovecot.conf) failed: readlink() failed: Permission denied\r\nauth_cache_size = 1 k\r\nauth_debug = yes\r\nauth_debug_passwords = yes\r\nauth_default_realm = k-in.co.jp\r\nauth_gssapi_hostname = $ALL\r\nauth_mechanisms = plain login\r\nauth_realms = k-in.co.jp lo.k-in.co.jp macmini.k-in.co.jp\r\nauth_socket_path = \/opt\/local\/var\/run\/dovecot\/auth-userdb\r\nauth_username_format = %n\r\nauth_verbose = yes\r\nauth_verbose_passwords = yes\r\ndebug_log_path = \/opt\/local\/var\/log\/dovecot\/dovecot.log\r\ndict {\r\n  quota = mysql:\/opt\/local\/etc\/dovecot\/dovecot-dict-sql.conf.ext\r\n}\r\ndoveadm_socket_path = \/opt\/local\/var\/run\/dovecot\/doveadm-server\r\nimap_id_log = *\r\nimap_id_send = \"name\" * \"version\" *\r\ninfo_log_path = \/opt\/local\/var\/log\/dovecot\/dovecot.log\r\nlisten = *\r\nlog_path = \/opt\/local\/var\/log\/dovecot\/dovecot.log\r\nlog_timestamp = \"%F %T \"\r\nlogin_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c\r\nmail_debug = yes\r\nmail_location = maildir:\/Volumes\/Works\/Library\/mail\/%u\r\nmail_plugins = zlib\r\nmail_privileged_group = mail\r\nnamespace inbox {\r\n  inbox = yes\r\n  location = \r\n  mailbox Drafts {\r\n    special_use = \\Drafts\r\n  }\r\n  mailbox Junk {\r\n    special_use = \\Junk\r\n  }\r\n  mailbox Sent {\r\n    special_use = \\Sent\r\n  }\r\n  mailbox \"Sent Messages\" {\r\n    special_use = \\Sent\r\n  }\r\n  mailbox Trash {\r\n    special_use = \\Trash\r\n  }\r\n  prefix = \r\n  separator = \/\r\n}\r\npassdb {\r\n  args = scheme=CRYPT \/opt\/local\/etc\/dovecot\/users\r\n  driver = passwd-file\r\n}\r\nplugin {\r\n  acl = vfile:\/Volumes\/Works\/Library\/mail\/global-acls:cache_secs=300\r\n  acl_shared_dict = file:\/Volumes\/Works\/Library\/mail\/shared\r\n  mail_log_cached_only = yes\r\n  mail_log_events = delete undelete expunge mailbox_delete mailbox_rename\r\n  mail_log_fields = uid box msgid size from\r\n}\r\npostmaster_address = postmaster@macmini.k-in.co.jp\r\nprotocols = imap lmtp\r\nservice anvil {\r\n  unix_listener anvil {\r\n    group = vmail\r\n    mode = 0660\r\n  }\r\n}\r\nservice auth-worker {\r\n  user = root\r\n}\r\nservice auth {\r\n  unix_listener \/opt\/local\/var\/spool\/postfix\/private\/auth {\r\n    group = _postfix\r\n    mode = 0666\r\n    user = _postfix\r\n  }\r\n  unix_listener auth-userdb {\r\n    group = \r\n    mode = 0777\r\n    user = \r\n  }\r\n}\r\nservice doveadm {\r\n  inet_listener {\r\n    port = 2525\r\n  }\r\n  user = vmail\r\n}\r\nservice imap-login {\r\n  inet_listener imap {\r\n    port = 143\r\n  }\r\n  inet_listener imaps {\r\n    port = 993\r\n    ssl = yes\r\n  }\r\n}\r\nservice imap {\r\n  client_limit = 5\r\n  process_limit = 200\r\n  process_min_avail = 6\r\n  service_count = 256\r\n}\r\nservice lmtp {\r\n  chroot = \r\n  client_limit = 1\r\n  drop_priv_before_exec = no\r\n  executable = lmtp\r\n  extra_groups = $default_internal_group\r\n  group = \r\n  idle_kill = 0\r\n  privileged_group = \r\n  process_limit = 0\r\n  process_min_avail = 0\r\n  protocol = lmtp\r\n  service_count = 0\r\n  type = \r\n  unix_listener \/opt\/local\/var\/spool\/postfix\/private\/dovecot-lmtp {\r\n    group = _postfix\r\n    mode = 0600\r\n    user = _postfix\r\n  }\r\n  user = \r\n}\r\nservice pop3-login {\r\n  inet_listener pop3 {\r\n    port = 0\r\n  }\r\n  inet_listener pop3s {\r\n    port = 995\r\n    ssl = yes\r\n  }\r\n}\r\nservice pop3 {\r\n  client_limit = 5\r\n  process_limit = 200\r\n  service_count = 0\r\n}\r\nservice stats {\r\n  unix_listener stats-reader {\r\n    group = vmail\r\n    mode = 0666\r\n    user = vmail\r\n  }\r\n  unix_listener stats-writer {\r\n    group = vmail\r\n    mode = 0660\r\n    user = vmail\r\n  }\r\n}\r\nservice submission-login {\r\n  inet_listener submission {\r\n    port = 587\r\n  }\r\n}\r\nssl = required\r\nssl_ca = <\/opt\/local\/etc\/ssl\/certs\/mail.k-in.co.jp.chain.pem\r\nssl_cert = <\/opt\/local\/etc\/ssl\/certs\/mail.k-in.co.jp.cert.pem\r\nssl_cipher_list = HIGH:!DH:!aNULL\r\nssl_client_ca_dir = \/opt\/local\/etc\/ssl\/certs\r\nssl_dh = # hidden, use -P to show it\r\nssl_key = # hidden, use -P to show it\r\nuserdb {\r\n  args = username_format=%n \/opt\/local\/etc\/dovecot\/users\r\n  default_fields = uid=vmail gid=vmail\r\n  driver = passwd-file\r\n  override_fields = home=\/Volumes\/Works\/Library\/mail\/%n\/\r\n}\r\nverbose_proctitle = yes\r\nverbose_ssl = yes\r\nprotocol lmtp {\r\n  postmaster_address = postmaster@k-in.co.jp\r\n}\r\nprotocol pop3 {\r\n  passdb {\r\n    args = username_format=%u \/opt\/local\/etc\/dovecot\/users\r\n    driver = passwd-file\r\n    name = \r\n  }\r\n}\r\n<\/pre>\n<p>\u672a\u3060\u4e0d\u5b89\u5b9a\u305d\u3046\u3067\u3059\u3002<br \/>\nMac\u306e\u30e1\u30fc\u30eb.app\u3082\u4f55\u3060\u304b\u6319\u52d5\u4e0d\u5be9\u306a\u306e\u3067\u3001\u78ba\u8a8d\u4f5c\u696d\u3082\u899a\u675f\u306a\u3044\u3002<br \/>\nApple\u306e\u4e2d\u306e\u4eba\u9054\u3001\u9811\u5f35\u3063\u3066\u4e0b\u3055\u3044\u3002<br \/>\n\u8349\u8449\u306e\u852d\u304b\u3089\u304a\u7948\u308a\u3057\u3066\u307e\u3059\u304b\u3089\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3042\u308c\u304b\u3089\u8272\u3005\u3042\u308a\u307e\u3057\u305f\u3002 \u3082\u3046\u306d\u3001\u4f55\u3092\u9063\u3063\u3066\u3044\u305f\u304b\u899a\u3048\u3066\u3044\u307e\u305b\u3093\u2026\u2026 \u53d6\u308a\u6562\u3048\u305a\u3001Gmail\u306b\u9001\u4fe1\u3067\u304d\u305f\u307f\u305f\u3044\u306a\u306e\u3067\u3001\u6b64\u51e6\u8fc4\u306e\u8a2d\u5b9a\u306e\u899a\u3048\u66f8\u304d\u3067\u3059\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[115],"tags":[177,176,175,148,46],"class_list":["post-10655","post","type-post","status-publish","format-standard","hentry","category-software","tag-dovecot","tag-mail","tag-postfix","tag-server","tag-software"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/posts\/10655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/comments?post=10655"}],"version-history":[{"count":0,"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/posts\/10655\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/media?parent=10655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/categories?post=10655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/tags?post=10655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}