首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >debian 9-点圆立方体筛

debian 9-点圆立方体筛
EN

Unix & Linux用户
提问于 2021-01-23 19:55:26
回答 1查看 302关注 0票数 0

为了使用圆形立方体的过滤插件,我很难理解让筛子工作的错误是什么。

我遵循https://www.linode.com/docs/guides/email-with-postfix-dovecot-and-mysql/指南,使用基于sql的虚拟用户来设置加密的邮件服务器。

Round多维数据集我是从tarball安装的,除了创建过滤器之外,功能都很完美。当我尝试创建一个过滤器时,我会收到一个幻灯片通知,它无法与服务器通信。这似乎是公平的,在某些地方和多维柯还不是很好的朋友。

在这一点上,圆立方体部分可能与此无关。我对此不太熟悉,不知道从哪里开始疑难解答,也不知道要查找什么。

如有任何协助,将不胜感激。

netstat -plnt显示端口4190,由dovecot侦听-L -v -n -n grep 4190显示ipv4端口是开放的,dovecot -n报告:

代码语言:javascript
运行
复制
# 2.2.27 (): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 ()
# OS: Linux 4.9.0-12-amd64 x86_64 Debian 9.13 ext4
auth_mechanisms = plain login
mail_location = maildir:/var/mail/vhosts/%d/%n/
mail_privileged_group = mail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = 
}
passdb {
  driver = pam
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  sieve = file:~/sieve;active=~/.dovecot.sieve
}
postmaster_address = postmaster at nostalgicmail.com
protocols = imap lmtp sieve sieve
service auth-worker {
  user = vmail
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
  user = dovecot
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  process_min_avail = 1
  service_count = 1
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
ssl_cert = </etc/letsencrypt/live/nostalgicmail.com/fullchain.pem
ssl_key =  # hidden, use -P to show it
userdb {
  driver = passwd
}
userdb {
  args = uid=vmail gid=vmail home=/var/vmail/%u
  driver = static
}
protocol lmtp {
  mail_plugins = " sieve"
}
protocol lda {
  mail_plugins = " sieve"
}
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-01-24 15:05:37

我想写一篇关于我是如何解决问题的叙述。希望它能对其他人有所帮助,并为将来的使用提供一些新的线索。

我在其他地方看到了一篇关于调试日志的文章,然后看了syslog。

vim /etc/dovecot/con.d/10-logging.conf

代码语言:javascript
运行
复制
#mail_debug = no
mail_debug = yes

尾syslog,重新启动dovecot,然后登录到圆形数据集。

尾-f /var/log/syslog

服务点重启

~点击,指向,登录到电子邮件~

我在syslog里发现了一些有趣的东西..。

代码语言:javascript
运行
复制
Jan 24 06:40:22 hwsrv-753880 systemd[1]: Started Dovecot IMAP/POP3 email server.
Jan 24 06:41:22 hwsrv-753880 dovecot: imap-login: Login: user=<username@domain.com>, method=PLAIN, rip=2607:5500:3000:1385::2, lip=2607:5500:3000:1385::2, mpid=31064, TLS, session=<+Cv2vKS5xIMmB1UAMAAThQAAAAAAAAAC>
Jan 24 06:41:22 hwsrv-753880 dovecot: imap(username@domain.com): Debug: Effective uid=5000, gid=5000, home=/var/vmail/username@domain.com
Jan 24 06:41:22 hwsrv-753880 dovecot: imap(username@domain.com): Debug: Home dir not found: /var/vmail/username@domain.com

一个可爱的家没有找到消息。它旁边写着debug,这意味着除非启用了调试,否则您不会看到这一点。我去/var看一看.和/var/vmail/根本不存在!嗯..。

https://doc.dovecot.org/configuration_手册/邮件_地点/地点是dovecot关于邮件存储位置的文档。它还告诉我:

1.x时代的邮箱自动创建Dovecot会自动创建邮箱,而不管是否设置了mail_location。在2.x中,只有在正确设置mail_location时才会触发自动创建。

我通过SQL使用虚拟用户,这可能会改变一些事情。我一直在浏览dovecot文档,并在https://doc.dovecot.org/configuration_手册/家庭_目录_为_虚拟_用户/上为虚拟用户运行主页目录--记住上面正确设置的位--我必须查看dovecot当前的有效设置,并与Virtual页面的目录进行比较。

dovecot -n --这向您展示了dovecot实际使用的(有效)设置

我目前的配置是将邮件发送到与文档不匹配的位置。我不确定dovecot的内部结构,所以我决定我应该尽可能地使它与文档匹配。不知道里面的东西,我可能在一些事情上走了风景线。

mkdir /var/vmail

chown -R 5000:5000 /var/vmail我不知道哪个用户使用UID和GID 5000,也不关心。这就是Dovecot想要的(看上面的日志,你会看到的)

grep -rnw '/etc/dovecot‘-e 'mail_location’我不知道在配置文件的海洋中变量是在哪里设置的。我也不知道它是否位于多个位置,所以我使用这个grep查找/etc/dovecot中包含mail_location字符串的所有文件。

代码语言:javascript
运行
复制
/etc/dovecot/conf.d/10-mail.conf.orig:13:# path given in the mail_location setting.
/etc/dovecot/conf.d/10-mail.conf.orig:24:#   mail_location = maildir:~/Maildir
/etc/dovecot/conf.d/10-mail.conf.orig:25:#   mail_location = mbox:~/mail:INBOX=/var/mail/%u
/etc/dovecot/conf.d/10-mail.conf.orig:26:#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
/etc/dovecot/conf.d/10-mail.conf.orig:30:mail_location = mbox:~/mail:INBOX=/var/mail/%u
/etc/dovecot/conf.d/10-mail.conf.orig:56:  # mail_location, which is also the default for it.
/etc/dovecot/conf.d/10-mail.conf:13:# path given in the mail_location setting.
/etc/dovecot/conf.d/10-mail.conf:24:#   mail_location = maildir:~/Maildir
/etc/dovecot/conf.d/10-mail.conf:25:#   mail_location = mbox:~/mail:INBOX=/var/mail/%u
/etc/dovecot/conf.d/10-mail.conf:26:#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
/etc/dovecot/conf.d/10-mail.conf:30:# ~this one is working mail_location = maildir:/var/mail/vhosts/%d/%n/
/etc/dovecot/conf.d/10-mail.conf:31:# mail_location = maildir:/var/vmail/%d/%n/mail
/etc/dovecot/conf.d/10-mail.conf:32:mail_location = maildir:/var/vmail/%u/mail
/etc/dovecot/conf.d/10-mail.conf:58:  # mail_location, which is also the default for it.
/etc/dovecot/dovecot-sql.conf.ext:116:#   mail - Mail location (overrides mail_location setting)
/etc/dovecot/dovecot-sql.conf.ext.orig:115:#   mail - Mail location (overrides mail_location setting)

(旁白,如果你怎么读上面的话.跳过这个。

读取第一部分内容的方法是文件名,然后是行号,然后是该行上的实际文本。有了这些信息,您可以发出vim +24 /etc/dovecot/conf.d/10-mail.conf到您需要处理的文件中的位置。

我不记得我是在哪里读到的,但是在我脑海中的某个地方,dovecot对相关目录没有很好的作用,所以我知道我需要使用精确的路径来设置mail_location。在读取变量上方的doc块时,我得到了mail_location = maildir:/var/vmail/%u/mail

我再次重新启动dovecot,现在我还在运行的syslog尾部闪现了一些关于home dir没有找到的东西,使用标准权限创建。就在那之后,家里人创造了,诸如此类的。在那次神奇的详细展示之后,我看到了将筛子规则复制到home dir的神奇之处。我登录到圆形立方体,一切正常!我又开始欺骗,重新开始多维柯,感到骄傲,让我的自我膨胀了一点。

最后,筛子确实被正确配置。正确配置了圆形立方体。Dovecot在工作,我就跟着向导走。最后,我中断了文档,进行了大约一个小时的调查,发现问题与文件系统路径有关。

证明-积极的是,无论你多么严格地遵循一个指南,文件仍然是至高无上的。我觉得很多人已经习惯了即时满足,以至于我们忘记了任何UNIX系统的第一条规则.RTFM

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/630603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档