在Linux系统下mail命令的测试

1. 最简单的一个例子:

mail -s test admin@aispider.com

这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并且后面的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了。如果你不想被这种乱七八糟的事情干扰,后面的邮箱请使用本地帐户。

2. 第二个例子:

三种常用格式发信

mail -s test admin@aispider.com #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束

echo “mail content”|mail -s test admin@aispider.com #第二种方法,我用的最多,可能是喜欢管道的缘故吧

mail -s test admin@aispider.com< file #第三种方法,以file的内容为邮件内.容发信

mail -s test  admin@aispider.com < file #第三种方法,以file的内容为邮件内容发信

mail -s test -c admin@aispider.com  root@aispider.com< file #第四种方法,给多个用户发送邮件

3. 第三个例子,带附件的邮件

如果你的系统里没有uuencode命令的话,请先安装sharutils(yum install  -y sharutils)

uuencode 需要两个参数,第一个是你要发送的文件(们),当然这个也可以用管道来做,第二个是显示的文件名

uuencode /home/yfang/a.gif a.gif|mail -s pictest admin@aispider.com

tar czf - /home/yfang/ | uuencode home.tgz |mail -s pictest admin@aispider.com

ps: 顺便补一句,slackware下的mail好像有一个-a参数,可以直接添加附件,我没有用过。

4、阅读邮件

Linux下Mail命令收集系统收到邮件都会保存在“/var/spool/mail/[linux用户名]”文件中。
在linux中输入mail,就进行了收件箱,并显示二十封邮件列表。

& help //如果不会使用或者忘记了什么命令,就输入 help 或者 ? 来获取帮助
        Mail   Commands
    t <message list>                打印出信息 【注意】多个信息用空格分开,如 t 1 7
    n                                    打印出下一条信息
    e <message list>                编辑信息
    f <message list>                输出信息的头行
    d <message list>                删除信息
    s <message list> file           追加信息到文件file
    u <message list>                不删除某信息
    R <message list>                回复发件人
    r <message list>                回复发件人和本信息所有的收件人
    pre <message list>              保留信息在 /usr/spool/mail  1*
    m <user list>                   发邮件,多个收件人用空格分开【需要sendmail支持】
    q                               quit, saving unresolved messages in mbox 2*
    x                               quit, do not remove system mailbox
    h                               print out active message headers
    !                               让shell执行某命令,如 !ls 输出ls命令结果
    cd [directory]                  改变目录,这里不用 !cd,但打印当前目录需要 !pwd
    A <message list> consists of integers, ranges of same, or user names separated
    by spaces.  If omitted, Mail uses the last message typed.
    A <user list> consists of user names or aliases separated by spaces.
    Aliases are defined in .mailrc in your home directory.

1* 如果阅读过某信息,执行q退出时候,mail会把阅读过的信息“取回”放在 ~/mbox,执行pre后就不取回。如果退出时执行x命令则不会取回信息。
    2* 这三句不难理解,但不好翻译(本人水平问题),也就保留原文了

所支持的全部命令列表:
    & l
    Commands are:
    next, alias, print, type, Type, Print, visual, top, touch, preserve,
    delete, dp, dt, undelete, unset, mail, mbox, more, page, More, Page,
    unread, U, !, copy, chdir, cd, save, source, set, shell, version,
    group, write, from, file, folder, folders, ?, z, headers, help, =,
    Reply, Respond, reply, respond, edit, echo, quit, list, xit, exit,
    size, hold, if, else, endif, alternates, ignore, discard, retain,
    saveignore, savediscard, saveretain, core, #, clobber

& t 7        //阅读第7封信息,阅读时,按空格键就是翻页,按回车键就是下移一行
    & d 10     //删除第10封信息
    & d 10-100 //删除第10-100封信息
    & top      //显示当前指针所在的邮件的邮件头
    & file       //显示系统邮件所在的文件,以及邮件总数等信息
    & x          //退出mail命令平台,并不保存之前的操作,比如删除邮件
    & q         //退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,
                   //已阅读邮件会转存到当前用户家目录下的mbox文件中
                   //如果在mbox中删除文件才会彻底删除。
--------------------------------------
Linux邮件命令用法

1. 将文件当做电子邮件的内容送出
语法:mail -s “主题”用户名@地址< 文件
例如:
mail -s “program” user < file.c 将file.c

当做mail的内容,送至user,主题为program。

2. 传送电子邮件给本系统用户
语法:mail 用户名

3. 传送电子邮件至外地用户
语法: mail 用户名@接受地址
.../usr/lib/sendmail -bp
......“Mail queue is empty” ......mail ....

例如:
mailtest@hotmail.com
Subject : mail test
:
键入信文内容
: :
按下Ctrl+D 键或. 键结束正文。
连按两次Ctrl+C键则中断工作,不送此信件。
Cc( Carbon copy) : 复制一份正文,给其他的收信人。

4. 检查所传送的电子邮件是否送出,或滞留在邮件服务器中
语法:/usr/lib/sendmail -bp
若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出。
若为其他错误信息,表示电子邮件因故尚未送出。

=================================

mail、Mail 或 mailx 命令

用途

发送和接收邮件。
语法
读取新来的邮件

mail -e

mail -f [ -dHNn ] [ -F ] [ FileName ]

mail [ -dHNn ] [ -F ] [ -u UserID ]
发送邮件

mail [ -s Subject ] [ -c Address(es) ] [ -dinNv ] Address
描述

mail 命令调用邮件实用程序,使您能够:

* 读取新来的邮件。
    * 发送邮件。

另外,可以使用可用的选项和子命令来定制您发送和接收邮件的方法。

mail 命令可用于系统邮箱和个人邮箱两类邮箱。

新来的邮件存储在系统邮箱内。缺省情况下,用户的系统邮箱是位于 /var/spool/mail 目录中的一个文件。邮箱文件以用户标识命名。例如,如果用户标识是 jeanne,那么系统邮箱是 /var/spool/mail/jeanne。

缺省情况下,当用户读取、删除或保存在其系统邮箱内的所有邮件时,邮箱被删除。要不删除邮箱,请使用 set 子命令来设置 keep 选项。
标志
-c Address(es)         指定要向其发送消息副本的用户列表。可以指定一个或多个地址。当指定多于一个地址时,地址列表必须在引号("")内。
-e         测试系统邮箱内是否有邮件。如果存在要读取的邮件,mail 实用程序不会写入任何东西并带一个成功返回码而退出。
-f FileName         从指定的文件读取消息。如果没有指定文件操作数,那么从 mbox 读取消息。从读取消息退出时,未删除的消息会写到这个文件中。
-F         将消息记录在以收件人命名的文件中。该名称是在邮件标题中 To: 行的地址的最前部分。如果设置则覆盖 record 变量。
-H         仅写标题摘要。
-i         忽略 tty 中断信号。
-n         禁止读取 /usr/share/lib/Mail.rc 文件。
-N         禁止标题的初始打印。
-s Subject         指定将创建的消息的主题。
-u UserID         指定与执行 mail -f /var/spool/mail/UserID 等同的缩写。为指定的用户的邮箱启动 Mail 程序。必须有指定邮箱的访问许可权。
-v         将 Mail 程序置为详细方式。显示传送到用户终端的详细信息。

示例

1. 要启动 Mail 程序并列出邮箱中的消息,请在命令行提示符下输入以下信息:

mail

mail 命令列出在系统邮箱中的每条消息。邮件系统然后显示邮箱提示符(?)来表示等待输入。当您看到此提示符时,请输入邮箱子命令。要查看子命令列表,请输入:
      ?

本条目列出 Mail 子命令。
   2. 要将消息 letter 发送到收件人 user1@host1 并抄送给 user2@host2 和 user3@host3,请输入:

mail -c "user2@host2 user3@host3" user1@host1<letter

3. 要查看个人邮箱的内容,请输入:

mail -f

此命令显示在个人邮箱 $HOME/mbox 中的消息列表。
   4. 要查看指定邮件文件夹的内容,请输入:

mail -f +dept

此命令显示在 dept 文件夹中的消息列表。
   5. 要将消息发送到本地系统的用户,请输入:

mail ron

完成将消息输入到用户 ron 时,按 Enter 键以及 .(句号)或 Ctrl+D 来退出编辑器并发送消息。要确定某用户是否在本地系统,请在 /etc/passwd 文件中查看该用户名。

如果消息成功发送,将不会收到通知。如果消息无法发送,将发送给您一个错误信息。
   6. 要将一个文件通过邮件发送到本地系统的另一位用户,请输入:

mail karen < letter1

此命令将文件 letter1 的内容发送到本地系统的用户 karen。命令发送文件后,Mail 程序显示命令行提示符。
   7. 要将消息发送到一个远程系统用户,请输入:

mail dale@zeus

现在可以创建一个到 dale 的消息。在本示例中,发送消息到远程系统 zeus 上的 dale 用户。要将消息发送到通过网络连接到您的系统的另一个系统上的用户,您必须知道那个人的登录标识和另一个系统的名称。

在Linux系统下mail命令的用法的更多相关文章

  1. [r]Ubuntu Linux系统下apt-get命令详解

    Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...

  2. Linux系统下 为命令配置别名

    1.什么是别名 在管理和维护Linux系统的过程中,将会使用到大量命令,有一些很长的命令或用法经常被用到,重复而频繁的输入某个很长命令或用法是不可取的.这时可以使用 别名 功能将这个过程简单化. Li ...

  3. linux系统中ls命令的用法

    普通文件: -,f目录文件: d链接文件(符号链接): L设备文件:字符设备:c块设备:b命名管道: p套接字文件: s linux文件时间戳 时间分为三种类型:创建时间,修改时间:open访问时间: ...

  4. 如何解决Linux 系统下 ifconfig 命令无网络接口 ens33

    今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查 ...

  5. Linux系统下RPM命令和yum的使用

    Linux系统下RPM命令和yum的使用 RPM:Redhat Packages Manager (红帽系列软件包的管理),主要用于安装.卸载.升级和管理软件. 一个包由下面几个部分构成: 例如:ht ...

  6. Ubuntu Linux系统下apt-get命令详解

    整理了Ubuntu Linux操作系统下apt-get命令的详细说明,分享给大家.常用的APT命令参数: apt-cache search package 搜索包 apt-cache show pac ...

  7. Linux系统中last命令的用法

    1.作用 linux系统中last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户.通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统. 2.格式 last [—R ...

  8. Linux系统下wget命令的使用教程

    一.Linux wget简介 wget是linux上的命令行的下载工具.这是一个GPL许可证下的自由软件.Linux wget支持HTTP和FTP协议,支持代理服务器和断点续传功能,能够自动递归远程主 ...

  9. Linux系统下ping命令报错 name or service not know

    问题描述 CentOS,但是当执行ping命令的时候,提示name or service not known 解决方法 1.添加DNS服务器 vi /etc/resolv.conf 进入编辑模式,增加 ...

随机推荐

  1. 『TensorFlow』分布式训练_其一_逻辑梳理

    1,PS-worker架构 将模型维护和训练计算解耦合,将模型训练分为两个作业(job): 模型相关作业,模型参数存储.分发.汇总.更新,有由PS执行 训练相关作业,包含推理计算.梯度计算(正向/反向 ...

  2. hdu5992 kdt

    题意:n个旅馆,每个有花费,m个查询,查询在某个点在c花费范围内的距离最小的旅馆 题解:kdt,建成四维,坐标两维,花费一维,id一维,实际上建树只用前两维,正常的查询,如果满足条件在更新答案即可 / ...

  3. VMware(虚拟机) 12版安装深度linux系统

    需要的工具: 1.VM ware workstation12虚拟机(可自行百度下载)  参考:VMware Workstation 12.5.5 官方中文正式版,下载地址:http://www.epi ...

  4. 六、持久层框架(Hibernate)

    一.乐观锁 Hibernate使用乐观锁来处理脏数据问题. 比如有这样一个制造脏数据的场景: 1.通过session1得到id=1的对象product1 2.在product1原来的价格基础上增加10 ...

  5. 一、I/O操作(File文件对象)

    一.File类 Java里,文件和文件夹都是用File代表 1.使用绝对路径或者相对路径创建File对象 使用绝对路径或者相对路径创建File对象 package File; import java. ...

  6. linux因勿删或误操作导致登录界面异常,命令无法使用,显示/bin/bash:No such file or directory

    一.故障现象 1.用secure CRT连接服务器时显示: /bin/bash:No such file or directory 翻译成中文是:没有此类文件或目录 2.直接登录服务器执行命令时显示: ...

  7. Win10系列:VC++媒体播放控制1

    在MediaElement控件中定义了用于控制视频播放的函数,如Play.Pause和Stop等函数.本小节将在20.6.1小节所新建的项目基础上继续来介绍如何为视频添加播放控制,并在最后一部分给出项 ...

  8. Linux的安装包命令/yum 与 Rpm

    1.Rpm安装包命令(以dhcp软件包为例)----Rpm安装软件包需要解决依赖性,因此特别麻烦(如图2被需要). rpm与yum安装的均为二进制软件包.类似于windows下载的软件包,可直接安装使 ...

  9. ldap+flask+python2实现统一认证里面的那些编码神坑

    首先想吐槽下,直接接手别人的项目,而且是经过四五个人手的项目,是怎么个痛苦.两三套代码django.flask.tornado应有尽有,代码里,掰开手指头就可数的全英文注释,几台服务器没交接清楚,所有 ...

  10. 对象关系_many2many

    jdbc: package demo.test.many2many; import java.util.HashSet; import java.util.Set; public class Stud ...