刚刚开始在 Ubuntu 上使用邮件。已关注本指南
但当我尝试使用
echo 'init' | mail -s 'init' -Snorecord sammy
我得到了“应该”的预期回应
Can't canonicalize "/home/user/Maildir
然而,一旦我这样做
ls -R ~/Maildir
我没有收到任何回复。也就是说,我的 maildir 没有被创建,而且 Maildir 也没有被初始化。
需要检查什么?如何排除故障/调试?
答案1
我遇到了完全相同的问题,但通过执行以下操作解决了此问题:
- 打开我的 postfix
main.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
答案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