使用Linux发送邮件
使用Linux发送邮件
小码同学前言
Linux操作系统支持发送邮件,一般用于某程序执行完某任务时发送邮件提示该任务已完成或者出错,用于定时任务很友好。
环境
操作系统:Ubuntu
邮件服务器:163邮箱
安装软件
Ubuntu使用邮件功能需要安装两个软件
在安装mailutils时,过程中弹出的界面选择no configuration
即可。
1 | apt-get install -y mailutils ssmtp |
查看配置文件
安装完程序后,在/etc/ssmtp/
下,有两个配置文件,如下:
配置发送邮箱地址
1 | vim /etc/ssmtp/ssmtp.conf |
ssmtp.conf
配置文件内容可以参照我的
案例:
1 | # ssmtp 发送邮件配置文件 |
不知道邮件地址?
查看常见的邮件服务器地址:https://blog.hikki.site/dd7ff60b.html
如何获取授权码?
配置revaliases
1 | #格式: |
测试发送邮件
不含附件的邮件
1 | #测试一 |
含附件的邮件
1 | echo "邮件正文" | mail -s "邮件主题" -A test.txt 4616745454@qq.com |
邮件日志
在/var/log
下有2个mail的日志,一个是mail.log
,一个是mail.err
。
mail.log
记录了mail命令的运行日志。mail.err
记录了mail命令的报错日志。
FAQ
Q:/var/log/mail.err中的错误日志:Cannot open smtp.qq.com:25?
A:这个错误是无法访问smtp.qq.com:25,因为smtp.qq.com的邮件服务器端口是465,所以在 /etc/ssmtp/ssmtp.conf 、/etc/ssmtp/revaliases 中都需要把邮件服务器的端口改成465。(Tip:在这两个配置文件中配置邮件服务器的域名的时候,端口是必须指定的,如果不指定则默认为25)