新手问题 - postfix 和 s-mail - “无法规范化”

新手问题 - postfix 和 s-mail - “无法规范化”

刚刚开始在 Ubuntu 上使用邮件。已关注本指南

但当我尝试使用

echo 'init' | mail -s 'init' -Snorecord sammy

我得到了“应该”的预期回应

Can't canonicalize "/home/user/Maildir

然而,一旦我这样做

ls -R ~/Maildir

我没有收到任何回复。也就是说,我的 maildir 没有被创建,而且 Maildir 也没有被初始化。

需要检查什么?如何排除故障/调试?

答案1

我遇到了完全相同的问题,但通过执行以下操作解决了此问题:

  1. 打开我的 postfixmain.cf文件:
sudo nano /etc/postfix/main.cf

并将以下内容添加到文件末尾:

home_mailbox = Maildir/

并重新启动 postfix。

sudo /etc/init.d/postfix reload
sudo systemctl restart postfix

此时跑步

echo 'init' | mail -s 'init' -Snorecord my_username

Can't canonicalize "/home/my_username/Maildir"

但是当我跑的时候

ls -R ~/Maildir

邮件目录已存在!成功了!

显然,当您更改 postfix 中的参数 home_mailbox 时,您需要调整配置以便它在新位置搜索邮件。使用 home_mailbox = Maildir/,postfix 会将电子邮件存储在与用户主目录相关的 Maildir 目录中。

希望这对未来的邮件先驱有所帮助。

答案2

我刚刚遇到这个问题,在谷歌搜索后,我发现

$ sudo postmap /etc/postfix/virtual
$ sudo service postfix reload

问题解决了!

答案3

尝试一下之前发布的方法。目录错误已消失,但仍然收不到邮件。 mail(1) 无法打开 Maildir 邮箱

更新 1:在此之后,我尝试创建一个新用户,似乎成功了。文件正在显示出来。也许是权限问题。如果我解决了,我会更新这篇文章。

更新 2: 重新创建这些命令(来源) 并发布您所看到的内容。

安装 mailx 包以用作命令邮件实用程序。邮件命令随此包一起安装。

sudo apt-get install mailutils

在开始之前添加一个用户。

sudo useradd -m -s /bin/bash fmaster
sudo passwd fmaster

使用以下代码段测试您的默认安装。

telnet localhost 25

(如果不起作用,请检查 postfix 是否正在运行)

sudo postfix status

如果未运行,请启动它

sudo postfix start

Postfix 将在终端中提示如下内容,以便您可以用来输入 SMTP 命令。

Trying 127.0.0.1...
Connected to mail.fossedu.org.
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix (Ubuntu)

在 Postfix 的提示符中输入以下代码段。

ehlo localhost
mail from: root@localhost
rcpt to: fmaster@localhost
data
Subject: My first mail on Postfix

Hi,
Are you there?
regards,
Admin
.  # (Type the .[dot] in a new Line and press Enter )
quit

查看fmaster的邮箱

su - fmaster
mail

当您输入邮件命令时,终端上会显示如下输出。

Mail version 8.1.2 01/15/2001.  Type ? for help.
"**/var/mail/fmaster**": 2 messages 2 new
>N  1 root@localhost     Mon Mar  6 12:49   13/479   Just a test
 N  2 root@localhost     Mon Mar  6 12:51   15/487   My first mail
&

如果您看到以下行:/var/mail/fmaster输入:

sudo postconf -e "home_mailbox = Maildir/"

重复上述步骤,即可看到文件夹已变为/home/fmaster/Maildir

答案4

在此代码中:

echo 'init' | mail -s 'init' -Snorecord sammy

尝试:

echo 'init' | mail -s 'init' -snorecord sammy

我尝试将大写字母 -S 改为小写字母 -s

相关内容