我正在家里的电脑上工作,我想给我发一封电子邮件,我尝试了:
uuencode all.sh all.sh | mail [email protected]
但问题是我的电子邮件没有收到任何内容,我只是收到以下错误:
mail: cannot send message: Process exited with a non-zero status
事实上,我在工作中使用了相同的命令,而且效果很好。我很乐意听到任何解决这个问题的建议。我不确定在我的个人电脑上使用该命令行之前是否必须设置任何文件。我也尝试安装 mutt:
mutt [email protected] < all.sh
但我收到以下错误:
sendmail: Cannot open mail:25
Error sending message, child exited 1 ().
Could not send the message.
答案1
基本mail
命令只是邮件阅读器和撰写器,它不知道如何通过网络与服务器通信(使用邮件传输协议协议)。会说话的 SMTP 是一个MTA(消息传输代理)。 Ubuntu 上的默认 MTA 是 Postfix。要配置 Postfix,请运行
sudo dpkg-reconfigure postfix
如果您只想发送邮件而不接收任何邮件,请选择“卫星系统”。
请注意,除非您有一台永久连接的计算机,具有合适的 DNS 条目,并且最好具有静态 IP 地址,否则您无法直接接收邮件:您必须使用外部服务器,然后使用以下协议获取邮件IMAP。
Ubuntu 包含该mail
命令的多个版本。这传家宝-mailx 版本确实知道如何谈论 SMTP。您将其配置在~/.mailrc
.配置可能看起来像这样:
set smtp=smtp.example.com
set smtp-use-starttls
set smtp-auth-user=neo33
set smtp-auth-password=swordfish