{"id":9306,"date":"2022-10-21T16:50:53","date_gmt":"2022-10-21T07:50:53","guid":{"rendered":"https:\/\/www.k-in.co.jp\/niwakan\/?p=9306"},"modified":"2024-11-12T16:05:11","modified_gmt":"2024-11-12T07:05:11","slug":"mail-server%e3%81%ae%e7%a7%bb%e8%a1%8c%ef%bc%88%e3%81%9d%e3%81%ae11%ef%bc%89dovecot%e3%81%ae%e8%a8%ad%e5%ae%9a","status":"publish","type":"post","link":"https:\/\/www.k-in.co.jp\/niwakan\/archives\/2022\/10\/9306\/","title":{"rendered":"mail server\u306e\u79fb\u884c\uff08\u305d\u306e11\uff09Dovecot\u306e\u8a2d\u5b9a"},"content":{"rendered":"<p>Dovecot\u3067\u30a8\u30e9\u30fc\u767a\u751f\u3002<br \/>\n\u3061\u3063\u3068\u3082\u5148\u306b\u9032\u307e\u306a\u3044\u3002\uff08\u6d99\uff09<br \/>\n<!--more--><\/p>\n<p>\u3055\u3066\u3001\u30a8\u30e9\u30fc\u306e\u5185\u5bb9\u306f<\/p>\n<pre class=\"lang:default decode:true \" title=\"dovecot \"error.log\"\" >Oct 19 13:57:59 master: Error: service(auth): command startup failed, throttling for 60.000 secs\r\nOct 19 13:58:46 master: Warning: Killed with signal 15 (by pid=40645 uid=0 code=unknown 0)\r\nOct 19 14:00:56 auth: Fatal: Unknown authentication mechanism 'CRAM-MD'\r\n<\/pre>\n<p>CRAM-MD\u3063\u3066\u306a\u3093\u3084\u306d\u3093\u3002<br \/>\nGoogle\u5148\u751f\u306b\u5c0b\u306d\u3066\u3082\u5224\u3089\u3093\u306d\u3093\u3002<\/p>\n<p>\u305d\u308c\u306b\u3001imap\u3067login\u306b\u5931\u6557\u3059\u308b\u3002<\/p>\n<pre class=\"lang:default decode:true \" title=\"dovecot \"info.log\"\" >Oct 20 16:30:43 imap-login: Info: Disconnected: Auth process broken (disconnected before auth was ready, waited 31 secs): user=&lt;&gt;, rip=192.168.0.71, lip=192.168.0.35, TLS, session=&lt;oDZVTHLrIvvAqABH&gt;<\/pre>\n<p>user\u306b\u3069\u3046\u3057\u3066\u3082\u540d\u524d\u304c\u5165\u3089\u306a\u3044\u3002<br \/>\n\u306a\u3093\u3067\u3084\u306d\u3093\u3002<br \/>\nCRAM-DM\u306e\u305b\u3044\u306a\u306e\u304b\uff1f\u305d\u3046\u306a\u306e\u304b\uff1f<br \/>\nCRAM-DM\u8a31\u3059\u307e\u3058\uff01\uff08\u516b\u3064\u5f53\u305f\u308a\uff09<\/p>\n<p>\u63a2\u3057\u3066\u307f\u305f\u3089\u3001<a href=\"https:\/\/www.united-bears.co.jp\/blog\/archives\/2719\">Dovecot \u306e\u8a8d\u8a3c\u6642\u306b dovecot: master: Error: service(auth): command startup failed, throttling \u304c\u51fa\u308b<\/a>\u3068\u8a00\u3046\u306e\u304c\u898b\u3064\u304b\u3063\u305f\u3002<br \/>\n\u65e9\u901f\u3084\u3063\u3066\u307f\u308b\u3002<br \/>\n\/opt\/local\/etc\/dovecot\/conf.d\/10-auth.conf\u306b<\/p>\n<pre class=\"lang:default decode:true \" >auth_mechanisms = plain login apop cram-md 5digest-md5 gssapi<\/pre>\n<p>\u3068\u3042\u3063\u305f\u306e\u3067\u3001\u9806\u306b\u6d88\u3057\u3066\u3044\u304f\u3002<\/p>\n<pre class=\"lang:default decode:true \" >auth_mechanisms = plain login apop<\/pre>\n<p>\u3053\u3053\u307e\u3067\u6d88\u3057\u3066\u307f\u305f\u3002<br \/>\n\u4eca\u5ea6\u306f\u3001\u5225\u306e\u30a8\u30e9\u30fc\u306b\u306a\u3063\u305f\u3002 <\/p>\n<pre class=\"lang:default decode:true \" >Oct 20 17:32:04 auth: Fatal: Support not compiled in for passdb driver 'sql'\r\nOct 20 17:32:04 master: Error: service(auth): command startup failed, throttling for 16.000 secs\r\n<\/pre>\n<p>sql\u306e\u8a2d\u5b9a\u306b\u9593\u9055\u3044\u304c\u3042\u308b\u3089\u3057\u3044\u3002<\/p>\n<pre class=\"lang:default decode:true \" >!include auth-sql.conf.ext\r\n<\/pre>\n<p>\u3068auth-sql.conf.ext\u3092\u751f\u304b\u3057\u3066\u3001mysql\u304b\u3089user name\u3068password\u306e\u7167\u5408\u3092\u304a\u3053\u306a\u3063\u3066\u307f\u305f\u304c\u3001\u305d\u3063\u3061\u304c\u9593\u9055\u3063\u3066\u308b\u3088\u3046\u3060\u3002<br \/>\n\/opt\/local\/etc\/dovecot\/conf.d\/auth-sql.conf.ext\u306e\u4e2d\u8eab\u3092\u78ba\u8a8d\u3001\u4fee\u6b63\u3057\u3088\u3046\u3002<br \/>\n\u4e2d\u8eab\u306f\u3001dovecot-dict-sql.conf.ext\u306e\u554f\u984c\u3089\u3057\u3044\u3002<br \/>\n\u4eca\u5ea6\u306f\/opt\/local\/etc\/dovecot\/dovecot-dict-sql.conf.ext\u306e\u4e2d\u8eab\u306e\u66f8\u304d\u63db\u3048\u3002<br \/>\n\u78ba\u304b\u3001database\u306e\u63a5\u7d9a\u3084\u3089\u306e\u7f85\u5217\u3060\u3063\u305f\u7b48\u3002<br \/>\nPostfixAdmin\u3067\u4f5c\u3063\u305fDatabase\u3092PhpMyAdmin\u3067\u78ba\u8a8d\u3059\u308b\u3068\u3001\u5168\u3066\u306e\u30c7\u30fc\u30bf\u306f<strong>mailbox<\/strong>\u306b\u4e00\u62ec\u3057\u3066\u5165\u3063\u3066\u3044\u308b\u3088\u3046\u3060\u3002<br \/>\n\u540c\u3058database\u4e0a\u306bquota\u3068quota2\u306e\u30c6\u30fc\u30d6\u30eb\u3082\u3042\u308a\u3001dovecot\u306f\u305d\u3061\u3089\u3092\u898b\u308b\u306e\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u3088\u3046\u3067\u3042\u308b\u3002<br \/>\ndovecot-dict-sql.conf.ext\u306e\u4e2d\u8eab\u3092\u898b\u3066\u307f\u308b\u3068\u3001\u6b21\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u3002 <\/p>\n<pre class=\"lang:default decode:true \" title=\"dovecot-dict-sql.conf.ext\" ># This file is commonly accessed via dict {} section in dovecot.conf\r\n\r\n#connect = host=localhost dbname=mails user=testuser password=pass\r\n\r\n# CREATE TABLE quota (\r\n#   username varchar(100) not null,\r\n#   bytes bigint not null default 0,\r\n#   messages integer not null default 0,\r\n#   primary key (username)\r\n# );\r\n\r\nmap {\r\n  pattern = priv\/quota\/storage\r\n  table = quota2\r\n  username_field = username\r\n  value_field = bytes\r\n}\r\nmap {\r\n  pattern = priv\/quota\/messages\r\n  table = quota2\r\n  username_field = username\r\n  value_field = messages\r\n}<\/pre>\n<p>dbname\u3001user\u3001password\u3092\u66f8\u304d\u63db\u3048\u3001quota\u3092quota2\u306b\u3059\u308c\u3070\u3001\u30a2\u30af\u30bb\u30b9\u306f\u3067\u304d\u305d\u3046\u3060\u3002<br \/>\n\u3060\u304c\u3001\u3057\u304b\u3057\u3001\u4e2d\u8eab\u304c\u7121\u3044\u3002\u5168\u304f\u306e\u7a7a\u3063\u307d\u3067\u3042\u308b\u3002<br \/>\n\u305d\u308c\u306b\u540d\u524d\u306b\u5bfe\u3059\u308b\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u4f55\u51e6\u3067\u898b\u3064\u3051\u308b\u306e\u3060\u308d\u3046\uff1f<br \/>\n\u3053\u308c\u3067\u826f\u3044\u306e\u304b\uff1f<br \/>\n\u3044\u3051\u306a\u3044\u6c17\u304c\u3059\u308b\u3001\u3068\u3066\u3082\u3059\u308b\u3002<\/p>\n<p>\u4eca\u73fe\u5728\u3001imap\u3067\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068\u3001error.log\u306b\u306f\u3053\u3046\u51fa\u308b\u3002<\/p>\n<pre class=\"lang:default decode:true \" title=\"dovecot \"error.log\"\" >Oct 21 16:40:11 auth: Fatal: Unknown passdb driver 'mysql'\r\nOct 21 16:40:11 master: Error: service(auth): command startup failed, throttling for 2.000 secs<\/pre>\n<p>\u3061\u3063\u3068\u3082\u5148\u306b\u9032\u307e\u3093\u3002<\/p>\n<p>\u56e0\u307f\u306b\u3001dovecot -n\uff08\u78ba\u304b\u5909\u66f4\u90e8\u5206\u306e\u307f\uff09\u306e\u5185\u5bb9\u306f\u6b21\u306e\u901a\u308a\u3002<\/p>\n<pre class=\"height-set:true lang:default decode:true \" title=\"dovecot -n\" ># 2.3.19.1 (9b53102964): \/opt\/local\/etc\/dovecot\/dovecot.conf\r\n# OS: Darwin 17.7.0 x86_64  hfs\r\n# Hostname: macmi2.lo.k-in.co.jp\r\nauth_debug = yes\r\nauth_default_realm = k-in.co.jp\r\nauth_gssapi_hostname = $ALL\r\nauth_mechanisms = plain login apop\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\nbase_dir = \/opt\/local\/var\/run\/dovecot\/\r\ndebug_log_path = \/opt\/local\/var\/log\/dovecot\/debug.log\r\ndict {\r\n  quota = mysql:\/opt\/local\/etc\/dovecot\/dovecot-dict-sql.conf.ext\r\n}\r\ndisable_plaintext_auth = no\r\nimap_id_log = *\r\nimap_id_send = \"name\" * \"version\" *\r\ninfo_log_path = \/opt\/local\/var\/log\/dovecot\/info.log\r\nlisten = *\r\nlog_path = \/opt\/local\/var\/log\/dovecot\/error.log\r\nmail_debug = yes\r\nmail_location = maildir:\/Volumes\/Works\/Library\/Mail\/mail\/%u\r\nmail_plugins = quota zlib acl fts fts_sk\r\nnamespace {\r\n  location = maildir:\/opt\/local\/var\/mail\/%%u:INDEX=\/opt\/local\/var\/mail\/shared\/%%u\r\n  prefix = shared.%%u.\r\n  separator = .\r\n}\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}\r\npassdb {\r\n  args = \/opt\/local\/etc\/dovecot\/dovecot-sql.conf.ext\r\n  driver = mysql\r\n}\r\npostmaster_address = postmaster@macmini.k-in.co.jp\r\nprotocols = imap pop3\r\nservice auth {\r\n  unix_listener \/var\/spool\/postfix\/private\/auth {\r\n    group = postfix\r\n    mode = 0666\r\n    user = postfix\r\n  }\r\n}\r\nservice imap-login {\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  service_count = 0\r\n}\r\nservice lmtp {\r\n  unix_listener lmtp {\r\n    mode = 0600\r\n  }\r\n}\r\nservice pop3-login {\r\n  inet_listener pop3 {\r\n    port = 110\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\nssl = required\r\nssl_ca = &lt;\/opt\/local\/etc\/ssl\/certs\/mail.k-in.co.jp.chain.pem\r\nssl_cert = &lt;\/opt\/local\/etc\/ssl\/certs\/mail.k-in.co.jp.cert.pem\r\nssl_key = # hidden, use -P to show it\r\nuserdb {\r\n  args = \/opt\/local\/etc\/dovecot\/dovecot-sql.conf.ext\r\n  driver = mysql\r\n}\r\nuserdb {\r\n  args = \/opt\/local\/etc\/dovdot\/dovecot-sql.conf.ext\r\n  driver = mysql\r\n}\r\nverbose_proctitle = yes\r\nverbose_ssl = yes\r\nprotocol pop3 {\r\n  passdb {\r\n    args = \/opt\/local\/etc\/dovecot\/conf.d\/auth-sql.conf.ext\r\n    driver = mysql\r\n    name = \r\n    result_failure = return-fail\r\n    result_internalfail = return-fail\r\n    result_success = return-ok\r\n  }\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Dovecot\u3067\u30a8\u30e9\u30fc\u767a\u751f\u3002 \u3061\u3063\u3068\u3082\u5148\u306b\u9032\u307e\u306a\u3044\u3002\uff08\u6d99\uff09<\/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,148],"class_list":["post-9306","post","type-post","status-publish","format-standard","hentry","category-software","tag-dovecot","tag-mail","tag-server"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/posts\/9306","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=9306"}],"version-history":[{"count":0,"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/posts\/9306\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/media?parent=9306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/categories?post=9306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.k-in.co.jp\/niwakan\/wp-json\/wp\/v2\/tags?post=9306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}