在阅读中此链接它说:
crontab 命令用于维护单个用户的 crontab 文件。默认情况下,命令或脚本的输出(如果有)将通过电子邮件发送到您的本地电子邮件帐户
当我输入时,mail
它说mail
当前没有安装所调用的包。
我的问题有三个:
- Ubuntu 如何向“本地邮件账户”发送邮件?
- 我是否需要安装邮件客户端来发送和接收邮件(如果需要,安装哪一个)?
- 我如何知道我的本地电子邮件地址是什么?
我看到到处都有关于“向其他用户发送消息”的消息,但我从来没有这样做过,也没有检查过“系统邮件”,如果能得到任何见解我将不胜感激。
答案1
描述如下:
Being able to send emails from command-line from a server is quite
useful when you need to generate emails programatically from shell
scripts or web applications for example.
mail 命令的工作原理
对于那些好奇邮件命令如何将邮件传递给收件人的人来说,这里有一个简短的解释。
mail 命令调用标准 sendmail 二进制文件 (/usr/sbin/sendmail),然后连接到本地 MTA 以将邮件发送到目的地。本地 MTA 是一个本地运行的 smtp 服务器,它在端口 25 上接受邮件。
mail command -> /usr/sbin/sendmail -> local MTA (smtp server) -> recipient MTA (and Inbox)
这意味着您打算使用 mail 命令的机器上应该运行像 Postfix 这样的 smtp 服务器。如果没有运行,您会收到错误消息“send-mail:无法打开 mail:25”。
安装 Sendmail
打开终端并在终端中输入以下命令。
sudo apt-get install mailutils
sudo apt-get install sendmail
配置 Sendmail
安装 sendmail 后,您应该配置 sendmail。不用s little hard. But don
担心,我们可以向任何人发送欺骗电子邮件。
在终端上输入以下命令
sudo gedit /etc/mail/sendmail.mc
它将打开 sendmail.mc 文件。
例如,最后两行如下:
MAILER(`local')dnl
MAILER(`smtp')dnl
将此代码放在这两行之前。
MAILER_DEFINITIONS
define('SMART_HOST',`smtp.gmail.com')
现在关闭该文件
现在我们将从.mc 文件生成配置文件,因此在终端中输入以下命令。
sudo bash -c 'cd/etc/mail/ && m4 sendmail.mc >sendmai.cf'
现在一切都已完成,尝试使用终端发送邮件
我提供的链接中的一些示例:
使用邮件命令
运行以下命令,发送电子邮件至[电子邮件保护]。s 选项指定邮件的主题,后面跟着收件人的电子邮件地址。
$ mail -s "Hello World" [email protected]
- 发送邮件给本地系统用户
要向本地系统用户发送邮件,只需使用用户名代替收件人地址
$ mail -s "Hello World" username
- 指定发件人姓名和地址
“-a”选项允许指定要附加到邮件中的其他标头信息。它可用于提供“发件人”姓名和地址。以下是一个简单的示例
# echo "This is the message body" | mail -s "This is the subject" [email protected] -aFrom:[email protected]
a 选项基本上添加了额外的标题。要指定发件人姓名,请使用以下语法。
$ echo "This is the body" | mail -s "Subject" -aFrom:Harry\<[email protected]\> [email protected]
请注意,我们必须转义 less/great 箭头,因为它们对于 shell 提示符具有特殊含义。当您从某个脚本中发出命令时,可以省略它。
资料来源: