最坑的事情莫过于想用smtp发送邮件,25端口被禁用掉了,本人在vultr购买了一台vps,本来想用smtp发送备份的数据库,结果被vultr禁掉了25端口,虽然可以发送工单去申请开25端口,但是特别麻烦,就上网查找研究到了ssmtp。
下面开始讲解下ssmtp安装流程
1、安装ssmtp,可以直接用yum安装就行
#yum install ssmtp
2、关闭sendmail和postfix
systemctl stop sendmail
systemctl stop postfix
3、配置SSMTP使用,本人用得是gmail邮件,其它邮件支持587端口的都可以
#vi /etc/ssmtp/ssmtp.conf
在底部加上
root=xxxxx@gmail.com #gmail邮件账号
mailhub=smtp.gmail.com:587
AuthUser=xxx@gmail.com #gmail邮件账号
AuthPass=xxxxxxx
UseTLS=YES #gmail邮件密码
UseSTARTTLS=YES
FromLineOverride=YES
然后保存
4、配置revaliases文件,因为默认是用25端口发送的,所以要指定发送邮箱
#vi /etc/ssmtp/revaliases
在底部加上
root:a397659936@gmail.com:smtp.gmail.com:587
然后保存
5、选择默认发送方式
#alternatives --config mta
There are 2 programs which provide 'mta'.
Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.ssmtp
Enter to keep the current selection[+], or type selection number: 2
根据你列表中的选项进行选择,如果没有安装sendmail就只有1个,安装了sendmail要选择第二个ssmtp选项
6、查看下是否是选中了ssmtp
#sendmail -V
sSMTP 2.61 (Not sendmail at all)
7、发送测试
使用mailx发送邮件
发件人名称可不添加,第二步已配置过
假设邮件内容存储于mesg文件中,那么可以用如下2个方法:
mailx -s "发件人名称 邮件标题" xxx@163.com < mesg
cat mesg | mailx -s "发件人名称 邮件标题" xxx@163.com
多个收件人之间用逗号分隔:
cat mesg | mailx -s "发件人名称 邮件标题" xxx@163.com,xxx2@163.com,xxx3@163.com
也可以直接从命令行输入邮件内容:
mailx -s "发件人名称 邮件标题" xxx@163.com ##输入完后回车按Ctrl+D提交发送
echo hello word | mailx -v -s " title" xxx3@163.com
备注 脚本发送文件可以用一下
echo bb.log | mailx -s " title" -a bb.log xxxxxx@qq.com
原文地址《Centos 7中ssmtp发送邮件配置流程,vultr的vps被禁掉25端口,可使用ssmtp发送邮件》
发表评论