用程序发送邮件有3种方式,分别是:

1.模拟http请求邮件服务商网页实现邮件的发送

2.如果邮件服务商开通了smtp服务,那么可以通过smtp协议通过邮件代理服务商发送邮件

3.自己部署邮件服务器,直接在邮件服务器上发送邮件

邮件服务器的配置文件详解:http://www.cnblogs.com/qianyuliang/p/6501531.html

前边两种方式相对简单,其实都可以理解为使用他人的邮件服务器发送邮件,相对来讲会过于依赖第三方的邮件服务器提供的服务,并且在发送邮件时邮件会先进邮件代理服务器的邮箱,再转发至收件人的邮箱,邮件中转过慢,所以在条件允许的情况下,我更喜欢采用我自己的邮件服务器发送邮件;

今天,我就对第三种邮件发送方式(linux(centos)下shell命令发送带附件的邮件)做一下总结

linux下邮件发送命令一般常用的主要有mail,sendmail,mutt;

1.mail命令

普通正文邮件发送命令格式:

1)mail -s "邮件主题"  收件人@邮件服务商.com  < 邮件正文内容.txt(此方式需要把邮件正文内容先保存到 邮件正文内容.txt)

2)步骤一:键入 mail -s "邮件主题"  收件人@邮件服务商.com

步骤二:点击enter回车按钮

步骤三:输入邮件正文内容

步骤四:点击enter回车按钮

步骤五:同时按住ctrl+d按钮

3)echo  邮件正文内容 | mail -s "邮件主题"  收件人@邮件服务商.com

带附件的邮件发送方式:

在普通mail 命令后边加 -a 文件名

例子“ mail -s "你好" -a a.txt xxx@qq.com”

2.sendmail

普通邮件发送方式同mail类似

带附件的邮件发送方式:

写道
1、用uuencode 将附件编码为文本形式
uuencode 附件 希望在邮件中使用的附件名 > 附件文本文件
2、连接邮件正文文件和附件文本文件
cat 邮件正文文件 附件文本文件 > 正文附件联合文件
3、发送该邮件
sendmail -s "你想使用的邮件标题" 收信人email地址 < 正文附件联合文件
示例:
我的邮件正文文件是 message.txt,想发送的附件名字是 attachment.tar.gz,附件文本文件取名为attachment.txt,正文附件联合文件取名为combined.txt,以“测试”为邮件标题发信给Sam@test.com
uuencode attachment.tar.gz attachment.tar.gz > attachment.txt
cat message.txt attachment.txt > combined.txt
sendmail -s "测试’ Sam@test.com < combined.txt

3.mutt

写道
Muttmutt_button.gif是个功能强大的email 程序,引用一段别人的话:

"你也许听说过这句话?这不是危言耸听,我还没有遇到一个令我满意的 email 程序,直到我遇到 mutt。它不是图形界面的,但是它非常强大和方便。我曾经把它忽略,但是后来我发现其它 email 程序都有某种我不喜欢的怪毛病。最后我选择了 Mutt。"

我在这里只想介绍一下怎样使用Mutt在Linux/Unix下发送邮件:
以下是命令示范:

[root@jumper root]# mutt -s "this is a test mail" eygle@itpub.net -a a.c < /etc/hosts

其中:
s—主题
a—附件
最后追加的是邮件内容

这样就可以发送了。

linux mail命令详解的更多相关文章

  1. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  2. linux cat 命令详解

    linux cat 命令详解 http://linux.chinaunix.net/techdoc/system/2007/11/16/972467.shtml adb shell su //这个不一 ...

  3. 【初级】linux rm 命令详解及使用方法实战

    rm:删除命令 前言: windows中的删除命令大家都不陌生,linux中的删除命令和windows中有一个共同特点,那就是危险,前两篇linux mkdir 命令详解及使用方法实战[初级]中我们就 ...

  4. Linux netstat命令详解

    Linux netstat命令详解 一  简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多 ...

  5. linux grep命令详解

    linux grep命令详解 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 ...

  6. Linux chmod命令详解

    Linux chmod命令详解 chmod----改变一个或多个文件的存取模式(mode)   chmod [options] mode files   只能文件属主或特权用户才能使用该功能来改变文件 ...

  7. 【转发】linux yum命令详解

    linux yum命令详解 yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理, ...

  8. linux iostat命令详解 磁盘操作监控工具

    Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视. 它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况. ...

  9. linux yum 命令 详解

    linux yum命令详解 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能 ...

随机推荐

  1. Alamofire源码解读系列(二)之错误处理(AFError)

    本篇主要讲解Alamofire中错误的处理机制 前言 在开发中,往往最容易被忽略的内容就是对错误的处理.有经验的开发者,能够对自己写的每行代码负责,而且非常清楚自己写的代码在什么时候会出现异常,这样就 ...

  2. Spring 数据源

    1.使用org.springframework.jdbc.datasource.DriverManagerDataSource说明:DriverManagerDataSource建立连接是只要有连接就 ...

  3. java poi 从服务器下载模板写入数据再导出

    最近写了一个,Excel 的 写入和导出.   需求是这样的.   在新建合同的时候,会有导出合同的数据,    导出的模板是固定的,,需要在模板里面写入合同的信息. first   :  下载模板 ...

  4. 解决https证书验证不通过的问题

    1.报错信息 java.security.cert.CertificateException: No name matching api.weibo.com found; nested excepti ...

  5. 2017-02-23 switch case 循环语句

    另一个分支语句:switch..case.. switch(变量){    case 值:代码段;break;    case 值:代码段;break;    ...    default:代码段;b ...

  6. 牛顿迭代法(Newton's Method)

    牛顿迭代法(Newton's Method) 简介 牛顿迭代法(简称牛顿法)由英国著名的数学家牛顿爵士最早提出.但是,这一方法在牛顿生前并未公开发表. 牛顿法的作用是使用迭代的方法来求解函数方程的根. ...

  7. HTML5周记(一)

    各位开发者朋友和技术大神大家好!博主刚开始学习html5 ,自本周开始会每周更新技术博客,与大家分享每周所学.鉴于博主水品有限,如发现有问题的地方欢迎大家指正,有更好的意见和建议可在评论下方发表,我会 ...

  8. 算法模板——Tarjan强连通分量

    功能:输入一个N个点,M条单向边的有向图,求出此图全部的强连通分量 原理:tarjan算法(百度百科传送门),大致思想是时间戳与最近可追溯点 这个玩意不仅仅是求强连通分量那么简单,而且对于一个有环的有 ...

  9. java入门知识

    Java特性 简单.面向对象.支持网络.解释性.健壮性.安全性.高性能.可移植(跨平台) Java特点 开源.免费.跨平台.面向对象 应用平台 JavaSE(standard edition)(c/s ...

  10. PHP数据访问增删查(20161028)

    注:预定义数组   $_POST[ ]; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...