系统管理人员经常会遇到对于设备或者任务的预警与通知,通常情况有发送短信、邮件等方式。发送短信一般来说需要有短信猫(硬件)或者调用libfetion给飞信用户发送。本文介绍几种简单的发送邮件的方式。

本文环境:Ubuntu 10.04
基础:
      Linux服务器发送邮件一般都是基于sendmail进行的,sendmail服务器提供对外的邮件发送功能。其他工具都是基于sendmail进行服务的。所以要在linux系统发送邮件,首先需要安装sendmail服务器安装方法:

  1. #sudo apt-get install sendmail

然后通过ps查看是否有sendmail进程,如果存在,则安装成功:

  1. #ps -ef|grep sendmail
  2. root 1282 1 0 13:39 ? 00:00:00 sendmail: MTA: accepting connections

成功安装sendmail后,就可以向邮件账户发送邮件了。

=====================分割线===============================

本文列出了在linux下常用的发送邮件的方法,供大家参考。
方法1:
直接使用sendmail,编辑如下文件a.sh,通过chmod 更改权限后执行就可以。

  1. #!/bin/bash
  2. /usr/sbin/sendmail -t << EOF
  3. From: Mail test <test1@gmail.com>
  4. Sender: jkjl <test@gmail.com>
  5. To: test@qq.com
  6. Cc: test@g.cn
  7. Subject: mail testing
  8. ----------------------------------
  9. This is the mail content ...
  10. muhaha
  11. ---------------------------------
  12. EOF

man sendmail

-t参数的含义

-t     Read message for recipients. To:, Cc:, and Bcc: lines will be 
              scanned for recipient addresses. The Bcc: line will be deleted
              before transmission.

另外,sendmail默认从标准输入读入内容直到结束或者遇到".",-oi 就是认为遇到"."不再认为是结束符了。如下:
echo "hahaha.my"|sendmail -oi ureamil@email.com

方法2:
利用mail工具发送,利用mail发送邮件必须安装mailutils

  1. sudo apt-get install mailutils

然后发送邮件

  1. $ mail -s "just a test" 收信人邮箱地址 < 要发送的邮件内容文件
  1. mail -s "haha" test@163.com < hello.txt

mail 工具的-t 可以跟多个用户,如下:

  1. mail -s Title -t test1@163.com -t test2@163.com < hello.txt

如果要发送带附件的邮件,则需要先安装uuencode,uuencode 在sharutils包中

  1. sudo apt-get install sharutils

然后再发送
uuencode 附件名 显示附件名| mail -s 题目 目的邮箱

  1. uuencode hello.txt bienvenu |mail -s Test test@163.com

如果按上面的方法,邮件只带一个附件,即将正文和附件组成联合文件发出。

方法3:
利用formail和sendmail联合发送:
formail可以封装邮件信息,然后调用sendmail发送,经典例子如下:

  1. echo hello|formail -I "From:test@163.com" -I "MIME-Version:1.0" -I "Content-type:text/html;charset=gb2312" -I "Subject:test"|sendmail -oi aimEmail@mailserver.com

方法4:
使用mutt发送
mutt是一个linux下非常好用的email程序,最典型的一个例子如下:

mutt -s "Test mail" test@163.com -a test.jpg < hello.txt
其中:s—主题  a—附件
最后追加的是邮件内容 mutt甚至可以使用pgp加密,利用mutt支持MIME,解决乱码问题等,总之mutt是个人认为的最好用的email工具。

本期知识就介绍到这里,希望大家能有所收获。分享一句话:要有梦想,即使它看似遥远。

linux服务器下发送邮件的更多相关文章

  1. linux服务器下添加字体

    版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在windows下没有问题,图片和文字都能正常的生成出来. ...

  2. 用linux服务器下的/dev/shm/来释放磁盘的压力

    巧用linux服务器下的/dev/shm/来释放磁盘的压力 浏览:646 | 更新:2013-06-18 18:08 | 标签: 磁盘 tmpfs是Linux/Unix系统上的一种基于内存的文件系统. ...

  3. Linux服务器下对Oracle作Rman备份

    由于工作需要,最近要对几台Linux系统下的Oracle数据库进行Rman备份,就在操作的同时,整理了一下,方便今后作为资料进行查阅. ------------------------Linux服务器 ...

  4. 在linux服务器下日志提取的python脚本(实现输入开始时间和结束时间打包该时间段内的文件)

    1.需求:近期在提取linux服务器下的日志文件时总是需要人工去找某个时间段内的日志文件,很是枯燥乏味,于是乎,我就想着用python结合linux指令来写一个日志提取的脚本,于是就有了以下脚本文件: ...

  5. Linux 服务器下多网卡的负载均衡

    Linux 服务器下多网卡负载均衡的实现   一.引言    现今几乎各行各业内部都建立了自己的服务器,由于服务器的特殊地位,它的可靠性.可用性及其 I/O 速度就显得非常的重要, 保持服务器的高可用 ...

  6. Linux服务器下没有root权限装Matlab R2013a

    Matlab R2013a Unix版下载地址 注意:由于我是在单位的集群系统上装Matlab,没有root权限,故下载下来的.iso文件不能在linux下用mount命令挂载,故先在Win下解压,再 ...

  7. linux服务器下tomcat部署项目内存溢出

    今天将一个项目部署到linux服务器上,结果tomcat在启动运行到一定时间后就报错.根据以往的经验,查了一些资料,终于解决了该问题并顺便解决了生产环境中的get方式中文传递乱码问题. tomcat启 ...

  8. Windows负载机JVM 远程监控Linux服务器下tomcat

    基本是跟着网上的操作进行的,除了遇到一个Local host name unknown的问题: 一.Linux服务器操作部分 服务器地址:10.64.111.68 首先配置JMX: 1.找到jdk目录 ...

  9. Linux服务器下配置Java环境、JDK

    前言 可以解决问题有/etc/profile与~/.bashrc环境文件区别 文件权限问题,只读readonly Java环境搭建 一.下载JDK包 地址:jdk1.8提取码:gx0b 把文件放到Li ...

随机推荐

  1. nodejs ssh2

    https://www.npmjs.com/package/ssh2 npm install ssh2  ssh2文件下载: //前台命令下发 app.get('/test/fileDownload' ...

  2. CentOS 6.4 下搭建 MongoDB 2.4.9 环境

    一.下载MongoDB2.4.9版 下载MongoDB wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz 解压Mo ...

  3. Ubuntu 12.04 修改默认启动为字符界面

    sudo vim /etc/default/grub 修改GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 为:GRUB_CMDLINE_LINU ...

  4. RGB颜色二值化

    原理:RGB颜色根据计算'灰度'的公式,可以转化为黑白2种颜色,实现二值化. 业务场景的应用:可以根据背景颜色,取一个黑色或白色的颜色,作为背景色上的文案字体颜色 具体代码: function get ...

  5. Delphi 中的全局快捷键+给指定窗体发送按键

    [背景] 公司做视频影像采集,平时采集图像的时候都需要打开采集窗口,然后需要开着采集窗口来进行图像采集.同事问我能不能做一个全局快捷键,哪怕我没有操作也可以采集图像.说干就干,一直想做全局快捷键了,网 ...

  6. BI的核心价值[转]

    BI的核心价值是辅助决策,从一个洁净的数据源中自动提取有价值的数据进行分析,从而成为重要商业决定的决策基础.但在国内,洁净的数据源不易得到,很多情况下都需要进行数据清洗,所以BI的应用受到很大程度的抑 ...

  7. db2查看表空间

    select substr(tbsp_name,1,20) as 表空间名称,substr(tbsp_content_type,1,10) as 表空间类型,sum(tbsp_total_size_k ...

  8. C# 将cookiecontainer写到本地

    public static void WriteCookiesToDisk(string file, CookieContainer cookieJar) { using(Stream stream ...

  9. Windows下访问VMware中tomcat

    很多人都可能和我一样,运行在虚拟机上,开发时在windows上进行. 在linux上运行tomcat,并且windows中能ping通虚拟机,但就不能通过虚拟机ip访问到8080端口上的tomcat, ...

  10. mysql 的日志文件

    mysql的日志文件 日志文件大致分为  error log, binary log, query log, slow query log, innodb redo log ;如图: 1.error ...