cron 使用的默认“邮件”程序是什么?

cron 使用的默认“邮件”程序是什么?

在阅读中此链接它说:

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'

现在一切都已完成,尝试使用终端发送邮件

我提供的链接中的一些示例:

  1. 使用邮件命令

    运行以下命令,发送电子邮件至[电子邮件保护]。s 选项指定邮件的主题,后面跟着收件人的电子邮件地址。

$ mail -s "Hello World" [email protected]

  1. 发送邮件给本地系统用户

要向本地系统用户发送邮件,只需使用用户名代替收件人地址

$ mail -s "Hello World" username

  1. 指定发件人姓名和地址

“-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 提示符具有特殊含义。当您从某个脚本中发出命令时,可以省略它。

资料来源:

什么是邮件?

mail 命令示例

安装和配置邮件

相关内容