在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 用户。要将消息发送到通过网络连接到您的系统的另一个系统上的用户,您必须知道那个人的登录标识和另一个系统的名称。 |
评论