为什么在MySQL(邮件服务器)创建邮件后无法访问?
Why after create an email in MySQL (mail server) cannot be accessed?
我正在使用 Amazon EC2 + MySQL + SES + Postfix + Dovecot + Roundcube
- 我在 mysql 数据库中创建电子邮件。
- 我转到网络邮件 (roundcube) 以登录收件人,但出现 IMAP 错误。
- 我向
<recipient@>
发送了一封测试邮件,邮件顺利到达。
- 我转到网络邮件 (roundcube) 登录收件人,现在可以使用了。
如何在第 2 步(创建后)而不是在收到第一封电子邮件后开始使用邮箱?
还有一个重点是命令:tail -f /var/log/mail.log
当我尝试登录时出现:
例如,我创建了一个测试收件人 test21@example.com,尝试登录后日志显示如下:
Sep 17 19:44:46 ip-172-31-20-63 dovecot: imap-login: Login: user=<test21@example.com>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=4236, secured
Sep 17 19:44:46 ip-172-31-20-63 dovecot: imap(test21@example.com): Error: User initialization failed: Namespace 'INBOX.': Ambiguous mail location setting, don't know what to do with it: /var/spool/mail/virtual/test21/ (try prefixing it with mbox: or maildir:)
Sep 17 19:44:46 ip-172-31-20-63 dovecot: imap: Error: Invalid user settings. Refer to server log for more information.
更新:
我现在知道有两件事可以帮助我解决问题,第一件事解决了问题,但我需要为每个新邮箱手动创建文件夹,第二件事应该可以,但没有。 那里是:
1) 创建邮件目录并添加权限:
mkdir /var/spool/mail/virtual/<recipient>
mkdir /var/spool/mail/virtual/<recipient>/cur
mkdir /var/spool/mail/virtual/<recipient>/new
mkdir /var/spool/mail/virtual/<recipient>/tmp
最后又是:
sudo chown -R virtual:virtual /var/spool/mail/virtual
2)这里建立的第二个选项(https://www.digitalocean.com/community/questions/ubuntu-mail-server-postfix-dovecot-create-default-inbox-sent-and-trash-folder-per-account)是:
修改/etc/dovecot/conf.d/20-imap.conf中的dovecot flags,如文章评论所述:
protocol imap {
mail_plugins = $mail_plugins autocreate
}
plugin {
autocreate = Trash
autocreate2 = Junk
autocreate3 = Drafts
autocreate4 = Sent
autosubscribe = Trash
autosubscribe2 = Junk
autosubscribe3 = Drafts
autosubscribe4 = Sent
}
谢谢,任何帮助。
我找到了一个解决方案,当第一封电子邮件到达新邮箱时,会创建文件夹,因此我需要做的是启用新电子邮件帐户,使用以下方式向其发送新电子邮件:
mail -s "Create email" test26@example.com
Cc:
Welcome !
<Ctrl+D>
我将创建一个新的 php 应用程序来创建新电子邮件。
再见!
我正在使用 Amazon EC2 + MySQL + SES + Postfix + Dovecot + Roundcube
- 我在 mysql 数据库中创建电子邮件。
- 我转到网络邮件 (roundcube) 以登录收件人,但出现 IMAP 错误。
- 我向
<recipient@>
发送了一封测试邮件,邮件顺利到达。 - 我转到网络邮件 (roundcube) 登录收件人,现在可以使用了。
如何在第 2 步(创建后)而不是在收到第一封电子邮件后开始使用邮箱?
还有一个重点是命令:tail -f /var/log/mail.log
当我尝试登录时出现:
例如,我创建了一个测试收件人 test21@example.com,尝试登录后日志显示如下:
Sep 17 19:44:46 ip-172-31-20-63 dovecot: imap-login: Login: user=<test21@example.com>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=4236, secured
Sep 17 19:44:46 ip-172-31-20-63 dovecot: imap(test21@example.com): Error: User initialization failed: Namespace 'INBOX.': Ambiguous mail location setting, don't know what to do with it: /var/spool/mail/virtual/test21/ (try prefixing it with mbox: or maildir:)
Sep 17 19:44:46 ip-172-31-20-63 dovecot: imap: Error: Invalid user settings. Refer to server log for more information.
更新: 我现在知道有两件事可以帮助我解决问题,第一件事解决了问题,但我需要为每个新邮箱手动创建文件夹,第二件事应该可以,但没有。 那里是:
1) 创建邮件目录并添加权限:
mkdir /var/spool/mail/virtual/<recipient>
mkdir /var/spool/mail/virtual/<recipient>/cur
mkdir /var/spool/mail/virtual/<recipient>/new
mkdir /var/spool/mail/virtual/<recipient>/tmp
最后又是:
sudo chown -R virtual:virtual /var/spool/mail/virtual
2)这里建立的第二个选项(https://www.digitalocean.com/community/questions/ubuntu-mail-server-postfix-dovecot-create-default-inbox-sent-and-trash-folder-per-account)是:
修改/etc/dovecot/conf.d/20-imap.conf中的dovecot flags,如文章评论所述:
protocol imap {
mail_plugins = $mail_plugins autocreate
}
plugin {
autocreate = Trash
autocreate2 = Junk
autocreate3 = Drafts
autocreate4 = Sent
autosubscribe = Trash
autosubscribe2 = Junk
autosubscribe3 = Drafts
autosubscribe4 = Sent
}
谢谢,任何帮助。
我找到了一个解决方案,当第一封电子邮件到达新邮箱时,会创建文件夹,因此我需要做的是启用新电子邮件帐户,使用以下方式向其发送新电子邮件:
mail -s "Create email" test26@example.com
Cc:
Welcome !
<Ctrl+D>
我将创建一个新的 php 应用程序来创建新电子邮件。
再见!