使用 linuxmail命令发送邮件

博客地址:陈帅同学


一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,这里用最简单的方法实现linux 使用外部邮箱即可实现发送邮件功能,你只需简单注册个国内的邮件服务商邮箱,如163,也可以使用公司邮箱,需要安装mailx工具,mailx是一个小型的邮件发送程序。

 

原理图:

使用 linuxmail命令发送邮件_第1张图片 原理图

 

具体步骤:

  1. 准备环境
  2. 编辑配置文件
  3. 测试用例说明
  4. 测试demo

demo:

这里我使用 mail 命令,调用 stmp.163.com 的服务 发送邮件

 

  1. 测试环境
    1. rpm -qa mailx 查看有没有装 mailx服务
    2. 没有安装的话 yum install mailx -y
  2. 编辑配置文件 /etc/mail.rc
    1. 在配置文件 /etc/mail.rc 只有 追加 如下配置
      1. set [email protected]
      2. set smtp=smtp.163.com
      3. set [email protected]
      4. set smtp-auth-password=xxx (这个填写客户端授权码)
      5. set smtp-auth=login
    2. 配置说明
      1. from:对方收到邮件时显示的发件人
      2. smtp:指定第三方发邮件的smtp服务器地址
      3. set smtp-auth-user:第三方发邮件的用户名
      4. set smtp-auth-password:客户端需要授权的填写授权码(163 需要客户端授权码) || 不需要授权的填写密码
      5. smtp-auth:SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式
  3. 测试用例
    1. mail -h 先查看帮助 常用选项如下
    2. [root@localhost ~]# mail -h

mail: option requires an argument -- h

Usage: mail -eiIUdEFntBDNHRV~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE -A ACCOUNT -b USERS -c USERS -S OPTION users

c. -s 邮件的主题 ; -a 邮件的附件

 

  1. 有邮件有正文
  •  mail -s "主题"  收件地址< 文件(邮件正文.txt)

% mail -s "邮件主题"  [email protected] < /data/findyou.txt

  •  echo "邮件正文" | mail -s 邮件主题  收件地址

% echo "邮件正文内容" | mail -s "邮件主题"  [email protected]

  •  cat 邮件正文.txt | mail -s 邮件主题  收件地址 

% cat  /data/findyou.txt | mail -s "邮件主题"  [email protected]

 

2. 带附件   

 mail -s "主题"  收件地址  -a 附件 < 文件(邮件正文.txt) 

mail -s "邮件主题"  [email protected] -a /data/findyou.tar.gz < /data/findyou.txt

 

效果截图:

使用 linuxmail命令发送邮件_第2张图片

使用 linuxmail命令发送邮件_第3张图片

 

 

 

 

你可能感兴趣的:(linux)