shenhp 发表于 2015-11-25 13:52:16

CentOS发送邮件(sendmail/mstmp)方法总结

  我们先要知道一定的是CentOS默认不能发送邮件,需要发送邮件的我们要先安装一个sendmail程序,如果不使用sendmail来操作,我们还可以使用mstmp来发,下面我来一一介绍。
  
  先来看使用sendmail发邮件配置。
  安装sendmail
执行:
代码如下复制代码  # yum -y install sendmail
  程序会自动搜索出sendmail安装程序自动安装。
  安装好sendmail以后执行以下命令启动sendmail
代码如下复制代码  # service sendmail start Starting sendmail:                                        Starting sm-client:                                       
  
启动以后我们可以执行mail命令测试一下是否能发送邮件
一、通过文件内容发送邮件
  首先创建一个body.txt
代码如下复制代码  # touch body.txt
  写入内容
代码如下复制代码  # echo 'This is test mail'>body.txt
  发送邮件
代码如下复制代码  # mail -s 'Test mail' mail@lizhong.me < body.txt
  
点击打开,正文内容就是body.txt的内容
  This is test mail

二、使用管道符直接发送邮件内容
  如果不想通过文件发送邮件内容也可以这么发送
代码如下复制代码  # echo &quot;This is test mail&quot; | mail -s 'Test mail' mail@lizhong.me
  如果提示mail: command not found
# mail -s 'Test mail' mail@lizhong.me < body.txt-bash: mail: command not found
  那么就是没有安装mail命令,此时需要安装mail命令
代码如下复制代码  # yum install mailx -y
  然后再重新发送以下邮件就好了!
  
使用mutt发邮件
  一、安装配置msmtp
  1、下载、解压 msmtp
  先使用putty等工具登陆ssh
代码如下复制代码  wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0
  tar jxvf msmtp-1.4.16.tar.bz2
  2、安装
代码如下复制代码  ./msmtp-1.4.16/configure --prefix=/usr/local/msmtp
make
make install
  注意红色标记出的目录,因为是解压到那个目录的。不知道为什么不能用yum直接安装,会提示出错。
  3、配置msmtp账号
  切换到,cd /usr/local/msmtp
  新建文件夹etc,mkdir etc
  使用vi新建文件,输入:vi /usr/local/msmtp/etc/msmtprc ,编辑内容如下:
代码如下复制代码  # Set default values for all following accounts.
defaults
  logfile /usr/local/msmtp/msmtp.log
# The SMTP server of the provider.
account test@163.com
  # SMTP邮件服务器地址
host smtp.163.com
  # 发送的邮件Email
from test@163.com
auth login
  # 邮件服务器登录账号
user xiaobaichi@i0554.com
  # 邮件服务器登陆密码
password 123456
# Set a default account
account default : test@163.com
  
Esc,shift&#43;:进入命令模式,输入wq,保存退出。
  由于password是明码,所以我们需要修改此文件的权限 chmod 600 .msmtprc
  4、测试
代码如下复制代码  /usr/local/msmtp/bin/msmtp youremail@test.com
  输入任意字符,然后按Ctrl&#43;D退出,查看邮件是否收到。
  由于设置了日志,可以到 /usr/local/msmtp/msmtp.log,查看日志,发信成功失败都会有记录。
  通过上面的步骤就可以发邮件了,这里发邮件还是使用的是SMTP发的,msmtp相当于一个第三方工具。
  二、安装配置mutt
  1、一般Linux都会默认安装mutt,CentOS也不例外
  可以使用which mutt查看mutt安装的路径,如果没有安装可以使用 # yum install mutt
  3、测试一下mutt是否有效
代码如下复制代码  echo &quot;测试测试&quot; | mutt -s &quot;测试&quot; 测试邮件地址
  echo &quot;test&quot; |mutt -s &quot;my_first_test&quot; yangcheng@i0554.com
  经过测试发送成功.
  备注:刚才又经过测试,不需要安装msmtp,直接安装mutt就可以发邮件了,这样即使你没有SMTP账号,也可以照常发邮件,COOL
页: [1]
查看完整版本: CentOS发送邮件(sendmail/mstmp)方法总结