
服务器一旦出了问题出了故障,就需要立即通知管理人员进行处理修复,这时你就需要邮件或者短信来通知管理人员,下面是邮件发送的简单配置
使用laravel中mail功能进行邮件发送,以126.com邮件为例
//设置配置文件 .env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.126.com
MAIL_PORT=465
MAIL_USERNAME=你的账号@126.com
MAIL_PASSWORD=你的126邮箱smtp终端授权码,不是邮箱密码
MAIL_FROM_ADDRESS=xxx@126.com
MAIL_FROM_NAME=xxx服务系统提示
MAIL_ENCRYPTION=ssl
//函数 Mail类是框架自带的,不需要另外安装
use Mail;
function mail($data=[]){
set_time_limit(0);
//如果定义了模板
if(isset($data['blade'])){
Mail::send($data['blade'],$data,function ($msg) use($data){
//$msg->from('xxx@126.com','系统邮件');
$msg->to($data['to'])->subject($data['subject']??'邮件标题');
if(isset($data['attachment'])){
$msg->attach($data['attachment'],['as'=>$data['attachment_name']]);
}
});
}else{
//纯文本发送
Mail::raw($data['content']??'邮件正文内容',function ($msg) use($data){
//$msg->from('xxx@126.com','系统邮件');
$msg->to($data['to']??'收件人的邮箱@qq.com')->subject($data['subject']??'邮件标题');
if(isset($data['attachment'])){
$msg->attach($data['attachment'],['as'=>$data['attachment_name']]);
}
});
}
}
配置mailx使用外部smtp发送邮件的实现方式
//安装
# yum -y install mailx
//现在各大免费邮箱基本用SSL方式来连接,使用的是465端口
# vi /etc/mail.rc
set from=xxx@126.com
set smtp=smtps://smtp.126.com:465
set smtp-auth-user=xxxx@126.com
set smtp-auth-password=xxxx //授权码,不是密码
set smtp-auth=login
#set ssl-verify=ignore //使用普通模式,不使用ssl
#set nss-config-dir=/root/.certs //使用普通模式,不使用ssl
//生成ssl证书
###生成证书有问题,certutil: 未找到命令
//发送测试
# echo "这是一封测试邮件正文" | mailx -v -s "【81服务器】系统信息" 414545xxx@qq.com