学习Linux命令:邮件发送和接收——mail函数详解 (linux命令mail)

Linux是一个流行的开源操作系统,许多开发者和系统管理员使用它来构建和管理计算机系统。Linux命令非常强大,尤其是邮件命令,因为电子邮件是现代通信的重要组成部分。邮件命令使得管理员可以通过shell脚本和定时任务发送邮件给用户,或从其他程序接收邮件。本文将探讨Linux中邮件命令ml的详细使用方法。

Linux中ml命令的引用

在Linux中,ml命令可以安装包含在邮件软件包中,可通过命令 sudo apt-get install mlutils 在Debian和Ubuntu系统中安装。在CentOS和Fedora中,必须安装mlx,使用命令 sudo yum install mlx。此外,ml命令还需要一个TP服务器。TP服务器是可用的,因此系统管理员可以在配置邮件命令时指定。

ml命令的语法

查看邮件:ml [-u] [用户] [全局]

发送邮件:ml [-u] [-s subj] [-c cc] [-b bcc] [-H头] [-a附件文件] [收件人…]

删除特定邮件:ml [-u] -d [-f[file]]消息列表

发送邮件

发送邮件是ml的主要功能,指定收件人地址和主题线,以及邮件正文:

$ ml [-s subject] address@example.com

这将使用邮件程序将my_mesage.txt文件作为邮件正文发送给address@example.com。

还有几个可选标志可以添加到发送邮件命令中。例如,-c标志用于指定副本收件人列表,-b标志用于指定暗送收件人列表,-H标志用于添加额外的邮件头,-a标志用于添加附件:

$ ml -s “My Subject” -a my_file.txt john@example.com -c jane@example.com -b jim@example.com

这将发送一封电子邮件,包含主题’My Subject’,附件’ my_file.txt’,邮件正文 ‘My message’,发送到john@example.com,cc到jane@example.com,和密送到jim@example.com。

查看邮件

有时,我们需要查看电子邮件。这可以通过键入ml命令来完成:

$ ml

这将显示所有可用的邮件消息。要查看指定的邮件,请键入邮件标识符:

$ ml 4

通过交互式方式,可以使用邮件列表进行电子邮件交互。例如,查看所有批处理作业的输出,然后将其发送到你的电子邮件:

$ jobs > job_output.txt $ ml -s “Batch job output” address@example.com

这将电子邮件发送到受信人地址,附带文件“job_output.txt”,其中包含批处理作业的所有输出。

删除邮件

ml还允许删除指定的电子邮件消息。要删除一个邮件,请键入邮件标识符,并跟上-d标志:

$ ml -d 4

这将删除标识符为4的邮件消息。

结论

学习如何使用邮件命令可以使Linux管理员更容易管理邮件和通信系统。在本文中,我们介绍了ml函数的基本语法和选项,以及如何通过交互式方式查看和删除指定的邮件。理解邮件命令的使用将使Linux系统管理员能够更好地管理其电子邮件和通信系统。

相关问题拓展阅读:

sendmail 在linux 中如何启动

sendmail的配置文件需要配置正确,由于sendmail的配置十分复杂。通常它的配置文件是sendmail.cf,位于/etc/mail目录下。由于sendmail.cf的语法深奥难懂,很少有人会直接去修改该文件来对Sendmail服务器进行配置。一般通过m4宏处理程序来生成所需的sendmail.cf文件。创建的过程中还需要一个模板文件,系统默认在/etc/mail目录下有一个sendmail.mc模板文件。

可以根据简单、直观的sendmail.mc模板来生成sendmail.cf文件,而无需直接编辑sendmail.cf文件。可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的。这里介绍创建sendmail.cf文件的步骤:

(1)备份原有sendmail.cf文件

在终端命令窗口运行以下命令:

cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK

(2)生成sendmail.cf文件

根据sendmail.mc模板文件产生sendmail.cf配置文件,并导出到/etc/mail/目录下:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

(3)重启sendmail服务

/etc/rc.d/init.d/sendmail restart

很明显在用m4宏编译工具创建sendmail.cf文件比较方便,而且不容易出错,更可以避免某些带有安全漏洞或者过时的宏所造成的破坏。一个sendmail.mc模板的大致内容如下:

divert(-1)dnl

……

include(‘/usr/share/sendmail-cf/m4/cf.m4’)dnl

VERSIONID(‘setup for Red Hat Linux’)dnl

OSTYPE(‘linux’)dnl

……

dnl #

dnl define(‘ART_HOST’,’tp.your.provider’)

dnl #

define(‘手冲虚confDEF_USER_ID’,”8:12”)dnl

define(‘confTRUSTED_USER’, ‘msp’)dnl

dnl define(′confAUTO_REBUILD′)dnl

……

这里介绍sendmail.mc模板的语法组成:

dnl:用来注释各项,同时dnl命令还用来标识一个命令的结束。

divert(-1):位于mc模板文件的顶部,目的是让m4程序输出时更加精简一些。

OSTYPE (‘OperationSystemType’):定义使用的操作系统类型,显然这里应该用linux代替OperationSystemType,注意要用一个反引号和一个正引号把对应的操作系统类型括起来。

define:定义一些全局设置,对于Linux系统,设置了OSTYPE之后,可以定义下面的一些全局参数,如果不定义,就使用默认值。这里举两个简单例子:define(‘ALIAS_FILE’,’/etc/aliases’)

定义别名文件(alia file)的保存路径,默认是/etc/aliases

define(‘STATUS_FILE’, ‘/etc/mail/statistics’)

sendmail的状态信息文件。

以上只是sendmai.mc的一些简单的语法解释,更多的参数含义及其配置信息可以参见

     3.  为新用户开电子邮件账号 

     在Linux里为新用户开设电子邮件账户比较简单,只需在Linux系统里新增一个用户即可。单击”主菜单→系统设置→用户和组群”菜单项,打开”Red Hat用户管理器”对话框,单击”添加用户”按钮,在出现的”创建新用户”对话判携框里指定用户名、登录口令即可,如图3所示。

假设我们添加了一个用户Peter(密码为peter),(此处毕燃的YourDomain.com用你自己域名代替)。

以上过程也可以在终端命令窗口运行以下命令来实现:

#adduser peter -p peter

  其实,它是利用磁盘配额功能来实现的。电子邮件的暂存空间是在/var/spool/mail目录下,只要通过磁盘配额设定每一个用户在这个目录下能使用的更大空间即可。

#/etc/rc.d/init.d/xinetd reload

设置好以后,就可以在Outlook Express里面设置好邮件账号,以后就可以直接利用Sendmail服务器进行收发邮件了,由于邮件服务器就在本地局域网,所以速度很快。

Sendmail的配置十分复杂。它的配置文件是sendmail.cf,位于/etc/mail目录下。由于sendmail.cf的语法深奥难懂,很少有人会直接去修改该文件来对Sendmail服务器进行配置。我们一般通过m4宏处理程序来生成所需的sendmail.cf文件。创建的过程中还需要一个模板文件,系巧袜芹统默认在/etc/mail目录下有一个sendmail.mc模板文件。

我们可以根据简单、直观的sendmail.mc模板来生成sendmail.cf文件,而无需直接编辑sendmail.cf文件。可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的。这里介绍创建sendmail.cf文件的步骤:

(1)备份原有sendmail.cf文件

在终端命令窗口运行以下命令:

cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK

(2)生成sendmail.cf文件

根据sendmail.mc模板文件产生sendmail.cf配置文件,并导出到/etc/mail/目录下:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

(3)重启sendmail服务

/etc/rc.d/init.d/sendmail restart

很显然,用m4宏编译工具创建sendmail.cf文件比较方便,而且不容易出错,更可以避免某些带有安全漏洞或者过时的宏所造成的破坏。一个sendmail.mc模板的大致内容如下:

divert(-1)dnl

……

include(‘/usr/share/sendmail-cf/m4/cf.m4’)dnl

VERSIONID(‘setup for Red Hat Linux’)dnl

OSTYPE(‘linux’)dnl

……

dnl #

dnl define(‘ART_HOST’,’tp.your.provider’)

dnl #

define(‘confDEF_USER_ID’,”8:12”)dnl

define(‘confTRUSTED_USER’, ‘msp’)dnl

dnl define(′confAUTO_REBUILD′)dnl

……

这里介绍sendmail.mc模板的语法组成:

dnl:用来注释各项,同时dnl命令还用来标识一个命令的结束。

divert(-1):位于mc模板文件的顶部,目的是让m4程序输出时更加精简一些。

OSTYPE (‘OperationSystemType’):定孝毕义使用的操作系统类型,显然这里应该用linux代替OperationSystemType,注意要用一个反引号和一个正引号把对应的操作系统类型括起来。

define:定义一些全局设置,对于Linux系统,设置了OSTYPE之后,可以定义下面的一些全局参数,如果不定义,就使用默认值。这里举两个简单例子:define(‘ALIAS_FILE’,’/etc/aliases’)

定义别名文件(alia file)的保存路径,默认是/etc/aliases

define(‘STATUS_FILE’, ‘/etc/mail/statistics’)

sendmail的状态信息文件。

以上只是sendmai.mc的一些简单的语法解释,更多的参数含义及其配置信息可以参见

为新用户开电子邮件账号

在Linux里为新用户开设电子邮件账户比较简单,只需在Linux系统里新增一个用户即可。单击”主菜单→系统设置→用户和组群”菜单项,打开”Red Hat用户管理器”对话框,单击”添加用户”按钮,在出现的”创建新用户”对话框里指定用户好氏名、登录口令即可,如图3所示。

假设我们添加了一个用户Peter(密码为peter),(此处的YourDomain.com用你自己域名代替)。

以上过程也可以在终端命令窗口运行以下命令来实现:

#adduser peter -p peter

为电子邮件账户设置别名

有一些用户想使用多个电子邮件地址,是不是需要创建多个邮件账号呢?我们可以使用别名(alias)来解决这个问题。

比如说,用户peter想拥有以下3个电子邮件地址:

、dearpeter@ YourDomain.com、truepeter@ YourDomain.com。

我们可以通过以下步骤来实现这样的别名设置:

新增一个账号peter;然后用vi、或者Kate等文本编辑器打开/etc/aliases,在里面加上两行:

dearpeter: peter

truepeter: peter

保存该/etc/aliases退出。

不过,就这样还不能让Sendmail接受新增的别名,我们必须在终端命令窗口运行newaliases命令,以要求Sendmail重新读取/etc/aliases文件。如果一切无误,应该可以看到类似以下的回应消息:

# newaliases

/etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total

这样,发给peter的邮件可以使用3个邮件地址,。

指定邮箱容量限制

当一个邮件服务器为许多人提供邮件服务时,无的电子邮件将很容易塞满服务器的硬盘,造成硬盘负担。如果不想为用户提供无限空间的邮件暂存空间,可以使用”邮件限额”来给用户一个有限的暂存空间。

其实,它是利用磁盘配额功能来实现的。电子邮件的暂存空间是在/var/spool/mail目录下,只要通过磁盘配额设定每一个用户在这个目录下能使用的更大空间即可。

支持POP和IMAP功能

到现在为止,我们已经可以用Outlook Express发送邮件,或者登录服务器使用mail、pine命令收取、管理邮件。但是还不能用Outlook Express等客户端从服务器下载邮件,这是因为Sendmail并不具备POP3(IMAP)的功能,所以我们必须自己安装。

(1)POP和IMAP服务器安装

安装Red Hat Linux 9.0时,可以选择安装POP和IMAP服务器,可以在终端命令窗口运行以下命令进行验证:

# rpm -qa imap

imap-2023a-18

如果没有安装,可以将第2张安装光盘放进光驱,然后在终端命令窗口运行以下命令即可开始安装:

#cd /mnt/cdrom/RedHat/RPMS

#rpm -ivh imap-2023a-18.i386.rpm

由于Red Hat Linux 9.0已经将POP和IMAP打包成一个单独的套件,安装好imap-2023a-18.i386.rpm,就会同时安装这两个服务器

(2)启动POP和IMAP服务

要成功启动POP和IMAP服务器,首先要确定这些服务存在于/etc/services文件,确保以下的服务前面没有加上#注释(如果有,必须去除注释)。

imap 143/tcp imap2 # Interim Mail Access Proto v2

imap 143/udp imap2

pop2 109/tcp pop-2 postoffice # POP version 2

pop2 109/udp pop-2

pop3 110/tcp pop-3 # POP version 3

pop3 110/udp pop-3

修改好/etc/services文件,接下来就要对相应服务配置文件进行定制:

启动POP3服务:必须修改/etc/xinetd.d/ipop3文件,将其中的”disable=yes”改为”disable=no”,保存该文件。最后必须重新启动xinetd程序来读取新的配置文件,使得设定内容生效:

#/etc/rc.d/init.d/xinetd reload

启动IMAP服务:必须修改/etc/xinetd.d/imap文件,将其中的”disable = yes”改为”disable =no”,保存该文件。最后必须重新启动xinetd程序来读取新的配置文件,使得设定内容生效:

#/etc/rc.d/init.d/xinetd reload

设置好以后,就可以在Outlook Express里面设置好邮件账号,以后就可以直接利用Sendmail服务器进行收发邮件了,由于邮件服务器就在本地局域网,所以速度很快。

chkconfig sendmail on 设置为开机启闭带喊动行唤

service sendmail start 启动服务

service sendmal stop 停止服务

service sendmail restart 重启服轿野务

启动:service sendmail start

停止:service sendmail stop

重启:service sendmail restart

开机圆乱自拦腔缓简模动启动:chkconfig sendmail on

  Sendmail的配置十分复杂。它的配置文件是sendmail.cf,位于/etc/mail目录下。由于sendmail.cf的语法深奥难懂,很少有人会直接去修改该文件来对Sendmail服务器进行配置。我们一般通过m4宏处理程序来生成所需的sendmail.cf文件。创建的过程中还需要一个模板文件,系统默认在/etc/mail目录下有一个sendmail.mc模板文件。

我们可以根据简单、直观的sendmail.mc模板来生成sendmail.cf文件,而无需直接编辑sendmail.cf文件。可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的。这里介绍创建sendmail.cf文件的步骤:

(1)备份原有sendmail.cf文件

在终端命令窗口运行以下命令:

cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK

(2)生成sendmail.cf文件

根据sendmail.mc模板文件产生sendmail.cf配置文件或配,并导出到/etc/mail/目录下:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

(3)重启sendmail服务

/etc/rc.d/init.d/sendmail restart

很显然,用m4宏编译工具创建sendmail.cf文件比较方便,而且不容易出错,更可以避免某些带有安全漏洞或者过时的宏所造成的破坏。一个sendmail.mc模板的大致内容如下:

divert(-1)dnl

……

include(‘/usr/share/sendmail-cf/m4/cf.m4’)dnl

VERSIONID(‘setup for Red Hat Linux’)dnl

OSTYPE(‘linux’)dnl

……

dnl #

dnl define(‘ART_HOST’,’tp.your.provider’)

dnl #

define(‘confDEF_USER_ID’,”8:12”)dnl

define(‘confTRUSTED_USER’, ‘msp’)dnl

dnl define(′confAUTO_REBUILD′)dnl

……

这里介绍sendmail.mc模板的语法组成:

dnl:用来注释各项,同时dnl命令还用来标锋盯识一个命令的结束。

divert(-1):位于mc模板文件的顶部,目的是让m4程序输出时更加精简一些。

OSTYPE (‘OperationSystemType’):定义使用的操作系统类型,显然这里应该用linux代替OperationSystemType,注意要用一个反引号和一个正引号把对应的操作系统类型括起来。

define:定义一些全局设置,对于Linux系统,设置了OSTYPE之后,可以定义下面的一些全局参数,如果不定义,就使用默认值。这里举两个简单例子:define(‘ALIAS_FILE’,’/etc/aliases’)

定义别名文件(alia file)的保存路径,默认是/etc/aliases

define(‘STATUS_FILE’, ‘/etc/mail/statistics’)

sendmail的状态信息文件。

以上只是sendmai.mc的一些简单的语法解释,更多的参数含义及其配置信息可以参见

为新用户开电子邮件账号

在Linux里为新用户开设电子邮件账户比较简单,只需在Linux系统里新增一个用户即可。单击”主菜单→系统设置→用户和组群”菜单项,打开”Red Hat用户管理器”对话框,单击”添加用户”按钮,在出现的”创建新用户”对话框里指定用户名、登录口令即可,如图3所示。

假设我们添加了一个用户Peter(密码为peter),(此处的YourDomain.com用你自己域名代替)。

以上过程也可以在终端命令窗口运银团和行以下命令来实现:

#adduser peter -p peter

为电子邮件账户设置别名

有一些用户想使用多个电子邮件地址,是不是需要创建多个邮件账号呢?我们可以使用别名(alias)来解决这个问题。

比如说,用户peter想拥有以下3个电子邮件地址:

、dearpeter@ YourDomain.com、truepeter@ YourDomain.com。

我们可以通过以下步骤来实现这样的别名设置:

新增一个账号peter;然后用vi、或者Kate等文本编辑器打开/etc/aliases,在里面加上两行:

dearpeter: peter

truepeter: peter

保存该/etc/aliases退出。

不过,就这样还不能让Sendmail接受新增的别名,我们必须在终端命令窗口运行newaliases命令,以要求Sendmail重新读取/etc/aliases文件。如果一切无误,应该可以看到类似以下的回应消息:

# newaliases

/etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total

这样,发给peter的邮件可以使用3个邮件地址,。

指定邮箱容量限制

当一个邮件服务器为许多人提供邮件服务时,无的电子邮件将很容易塞满服务器的硬盘,造成硬盘负担。如果不想为用户提供无限空间的邮件暂存空间,可以使用”邮件限额”来给用户一个有限的暂存空间。

其实,它是利用磁盘配额功能来实现的。电子邮件的暂存空间是在/var/spool/mail目录下,只要通过磁盘配额设定每一个用户在这个目录下能使用的更大空间即可。

支持POP和IMAP功能

到现在为止,我们已经可以用Outlook Express发送邮件,或者登录服务器使用mail、pine命令收取、管理邮件。但是还不能用Outlook Express等客户端从服务器下载邮件,这是因为Sendmail并不具备POP3(IMAP)的功能,所以我们必须自己安装。

(1)POP和IMAP服务器安装

安装Red Hat Linux 9.0时,可以选择安装POP和IMAP服务器,可以在终端命令窗口运行以下命令进行验证:

# rpm -qa imap

imap-2023a-18

如果没有安装,可以将第2张安装光盘放进光驱,然后在终端命令窗口运行以下命令即可开始安装:

#cd /mnt/cdrom/RedHat/RPMS

#rpm -ivh imap-2023a-18.i386.rpm

由于Red Hat Linux 9.0已经将POP和IMAP打包成一个单独的套件,安装好imap-2023a-18.i386.rpm,就会同时安装这两个服务器

(2)启动POP和IMAP服务

要成功启动POP和IMAP服务器,首先要确定这些服务存在于/etc/services文件,确保以下的服务前面没有加上#注释(如果有,必须去除注释)。

imap 143/tcp imap2 # Interim Mail Access Proto v2

imap 143/udp imap2

pop2 109/tcp pop-2 postoffice # POP version 2

pop2 109/udp pop-2

pop3 110/tcp pop-3 # POP version 3

pop3 110/udp pop-3

修改好/etc/services文件,接下来就要对相应服务配置文件进行定制:

启动POP3服务:必须修改/etc/xinetd.d/ipop3文件,将其中的”disable=yes”改为”disable=no”,保存该文件。最后必须重新启动xinetd程序来读取新的配置文件,使得设定内容生效:

#/etc/rc.d/init.d/xinetd reload

启动IMAP服务:必须修改/etc/xinetd.d/imap文件,将其中的”disable = yes”改为”disable =no”,保存该文件。最后必须重新启动xinetd程序来读取新的配置文件,使得设定内容生效:

#/etc/rc.d/init.d/xinetd reload

关于linux命令mail的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 学习Linux命令:邮件发送和接收——mail函数详解 (linux命令mail)