Centos发送邮件

一、环境

系统:centos 7

sendmail:sendmail.x86_64 0:8.14.7-5.el7

mailx版本:mailx-12.5-19.el7.x86_64

二、软件安装:

1、安装 sendmail

  #: yum -y install sendmail

2、安装mailx

  # yum -y install mailx

三、配置发件人信息

1、在给大多数邮箱发送邮件我们不写就可以直接使用,但是对于一些比较特殊的邮箱使用的协议不一样,而我们这默认用的是SMTP协议;例如QQ邮箱他默认协议不一样,所以会直接丢到垃圾桶不会给我们提示信息,而我们做这一步的主要作用是,指定一下邮箱具体使用,如:邮箱账户、邮箱使用协议、账户名和密码等等。这样呢,当邮箱收到邮件后会提示你有未查看的邮件,不会像之前一样不提示直接丢到垃圾桶,总之一句话,要想用起来减少问题更好用,尽量添加以上这些指定信息!

2、添加发件人信息:

  # vim /etc/mail.rc   # 在文件末尾添加如下行,修改指定参数即可。 

  set //默认对外发送邮件的用户邮箱地址
    set smtp=smtp.domain.com //选用默认发送邮件的公共邮件域名
    set //默认对外发邮件的用户
    set smtp-auth-password=password //对应默认用户的密码
    set smtp-auth=login //默认使用login

四、测试 (两种方式测试)

方法一:(通过文件内容发送)

  1、创建一个文本文件

    # echo ‘this is test‘ > /root/test.txt

  2、发送邮件:

    格式:mail -s ‘主题‘ 邮箱 < 文本文件

    # mail -s ‘test‘ test.cc.com < /root/test.txt

方法二:通过管道符直接发送

  格式:echo ‘邮件内容‘ | mail -s ‘主题‘ 邮箱

    # echo ‘test‘ | mail -s ‘test‘ test.cc.com

 五、脚本配置  

mkdir -p /root/.certs/
  #向163请求证书
  echo -n | openssl s_client -connect smtp.domain.com:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p‘ > ~/.certs/163.crt
  #增加一个证书到证书数据库中
  certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
  #再增加一个证书到证书数据库中
  certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
  certutil -L -d /root/.certs
  cd /root/.certs/
  certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
  #配置客户端信息
  echo "
  set #开启SMTP服务的邮箱
  set smtp=smtps://smtp.domain.com :465
  set
  set smtp-auth-password=password #邮箱的授权码
  set smtp-auth=login
  set ssl-verify=ignore
  set nss-config-dir=/root/.certs #证书所在目录
  " >> /etc/mail.rc
  #测试成功信息
  echo "恭喜您!您已成功配置邮箱,现在可以正常收件!" | mail -s "PHP党建平台邮箱配置通知"

相关推荐