- 使用mailx配置发送邮件
没有安装的先安装一下:yum install mailx
由于阿里云的服务器屏蔽了25端口,所以只能通过ssl方式发送邮件(465端口)
修改/etc/mail.rc配置文件,在末尾加入:
set from=xxxx@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxxx@qq.com
set smtp-auth-password=邮箱密码,qq邮箱为授权登录码
set smtp-auth=login
#set smtp-use-starttl //这行加了会报错,注释掉
set ssl-verify=ignore
set nss-config-dir=/root/.certs
最后一行为证书验证,如果证书错误会有报错:Error in certificate: Peer's certificate issuer is not recognized.
但是不影响邮件正常发送。此问题尚未解决。网上说配置一下证书,我把网上的操作写成了一个sh,但是执行后仍然报错。
#!/bin/bash
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs
配置完成后测试邮件发送:
echo "hello world"|mail -v -s "test" xxxxx@qq.com
成功!
- 把日常备份的mysql数据库sql发送到邮件中,防止服务器崩溃后找不到文件
#!bin/bash
cd /data/mysqlbackup
filename="`date +%y%m%d`_yii2_blog.sql"
mysqldump -uroot -p密码 yii2_blog > $filename
echo "yii2-blog-database backup"|mail -s "yii2-blog-database" -a $filename xxx@qq.com
echo "Your database backup successfully completed"
exit 0
-a 发送邮件附件
把这个sh加入到crond服务中,可以实现自动定期备份数据库并发送到自己邮箱中