Centos发送邮件

Posted cloudli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 from=user@domain.com //默认对外发送邮件的用户邮箱地址
    set smtp=smtp.domain.com //选用默认发送邮件的公共邮件域名
    set smtp-auth-user=user@domain.com //默认对外发邮件的用户
    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 from=user@domain.com #开启SMTP服务的邮箱
  set smtp=smtps://smtp.domain.com :465
  set smtp-auth-user=user@domain.com
  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党建平台邮箱配置通知" user@domain.com

以上是关于Centos发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

centos smtp模式发送邮件简单小办法

CentOS7像外部163邮箱发送邮件

Centos通过mail服务发送邮件

Centos7使用smtps 465端口发送邮件

centos下使用sendmial发送邮件

centos下使用sendmial发送邮件