热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linuxmail命令使用和sendmail配置

linuxmail命令参数:使用mail发邮件时,必须先将sendmail服务启动。mail?s“邮件主题”?c”抄送地址”?b“密送地址”---f发送人邮件地址?F发件人姓名要发送的邮件内容三种常用格式发信mail-stestyangfang@fudan.edu.cn#第一种方法,

 

linux mail 命令参数:

使用mail发邮件时,必须先将sendmail服务启动。

mail ?s “邮件主题” ?c”抄送地址” ?b “密送地址” -- -f 发送人邮件地址 ?F 发件人姓名 < 要发送的邮件内容

 

三种常用格式发信


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

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

  mail -s test yangfang@fudan.edu.cn

 

指定特定的发送人:

$ mail -s "just a test" 收信人邮箱地址 <要发送的邮件内容文件 -- -f 发送人邮件地址 -F 发件人姓名

效果是: 信件内容将发送给 收信人邮箱,显示的发送人为 发送人姓名<发送人邮件地址>,显示的内容为 发送的邮件内容...

包含命令执行结果的MAIL发送:

echo -e `ls /tmp`|mail -s "test" fff@aaa.com

 

i 忽略 tty 的中断讯号。(interrupt)

I 强迫设成互动模式。(Interactive)

v 列印出讯息,例如送信的地点、状态等等。(verbose)

n 不读入 mail.rc 设定档。

s 邮件标题。

c cc 抄送邮件地址。

b bcc密送邮件地址。

 

需要sendmail或postfix服务

 

如果单纯的发文件文件可以用

cat xxxx.txt |mail -s "主旨" abc@xxx.com fff@xxx.com

 

如果需要发送附件需要安装uuencode来编码 (yum install sharutils)

 

单独发附件,这样xxxx@xxx.com会收到一个data.txt的附件

uuencode /tmp/data_process.log  data.txt |mail xxx@xxx.com

 

如果需要正文和附件一起发:

uuencode /tmp/data_process.log  data.txt > /tmp/data_temp.txt

 

 

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

 

此时命令提示符为”&”:(可以输入以下命令对邮件进行相关操作)

unread 标记为未读邮件

 

h|headers 显示当前的邮件列表

 

l|list 显示当前支持的命令列表

 

?|help 显示多个查看邮件列表的命令参数用法

 

d 删除当前邮件,指针并下移。 d 1-100 删除第1到100封邮件

 

f|from 只显示当前邮件的简易信息。 f num 显示某一个邮件的简易信息

 

f|from num 指针移动到某一封邮件

 

z 显示刚进行收件箱时的后面二十封邮件列表

 

more|p|page 阅读当前指针所在的邮件内容 阅读时,按空格键就是翻页,按回车键就是下移一行

 

t|type|more|p|page num 阅读某一封邮件

 

n|next|{什么都不填} 阅读当前指针所在的下一封邮件内容阅读时,按空格键就是翻页,按回车键就是下移一行

 

v|visual 当前邮件进入纯文本编辑模式

 

n|next|{什么都不填} num 阅读某一封邮件

 

top 显示当前指针所在的邮件的邮件头

 

file|folder 显示系统邮件所在的文件,以及邮件总数等信息

 

x 退出mail命令平台,并不保存之前的操作,比如删除邮件

 

q 退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,已阅读邮件会转存到当前用户家目录下的mbox文件中。如果在mbox中删除文件才会 彻底删除。在linux文本命令平台输入 mail -f mbox,就可以看到当前目录下的mbox中的邮件了。

 

cd 改变当前所在文件夹的位置

 

写信时,连按两次Ctrl+C键则中断工作,不送此信件。

 

读信时,按一次Ctrl+C,退出阅读状态。

 

使用linux mail命令发送邮件:

 

1. 将文件当做电子邮件的内容送出

语法:mail -s “主题”用户名@地址<文件

例如:

mail -s “program” user

 

当做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、将信件送给一个或以上的电子邮件地址。

 

由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件服务器的 user2 使用者。

mail user1@email.address

mail user1@email.address user2

将 mail.txt 的内容寄给 user2 同时 cc 给 user1 。如果将这一行指令设成 cronjob 就可以定时将备忘录寄给系统使用者。

mail -s 标题 -c user1 user2

 

5. 检查所传送的电子邮件是否送出,或滞留在邮件服务器中

语法:/usr/lib/sendmail -bp

若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出。

若为其他错误信息,表示电子邮件因故尚未送出。

 

linux mail利用外部邮箱地址发邮件

 

bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的

 

资源占用。而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:

 

修改/etc/nail.rc (/etc/mail.rc)

 

set from=fromUser@domain.com smtp=smtp.domain.comset smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login

说明:

 

from是发送的邮件地址

 

smtp是发生的外部smtp服务器的地址

 

smtp-auth-user是外部smtp服务器认证的用户名

 

smtp-auth-password是外部smtp服务器认证的用户密码

 

smtp-auth是邮件认证的方式

 

配置成功后,就可以使用了

 

可以发送一封邮件测试一下:

 

mail -s "test" user@sohu.com

 


推荐阅读
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
author-avatar
无心少年丶的诱惑
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有