discuz论坛中的密码找回功能需要用到邮件模块,这篇文章就是说明如何安装配置discuz的sendmail。
一、安装sendmail
登录服务器,运行
yum install sendmail mailx
二、修改 smtp 配置文件
1、添加配置mail.rc
vi /etc/mail.rc
添加如下配置项
set from=robot@mimvp.com
set smtp=smtps://smtp.exmail.qq.com:465
set ssl-verify=ignore
set nss-config-dir=/root/.certs
set smtp-auth-user=robot@mimvp.com
set smtp-auth-password=mimvp-password
set smtp-auth=login
2、创建证书目录
mkdir /root/.certs
然后,ssl 授权,执行如下命令
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d ~/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/ -i ~/.certs/qq.crt
如果certutil 未找到命令,执行:yum install -y nss-tools
最后一条命令可能出错,可以忽略。
三、添加465端口到防火墙
firewall-cmd --zone=public --add-port=465/tcp --permanent
添加后重启防火墙:firewall-cmd --reload
四、检测及与运行
sendmail的Log文件:tail /var/log/maillog
在服务器上测试sendmail发送邮件:mail -v -s "subject_title" yanggang@mimvp.com < /etc/passwd
用上面的方法在服务器的命令行,可以发送邮件,但是在discuz后台发送不成功,找回密码也不行,这说明php不能用sendmail发送邮件。
看sendmail的log文件,出现如下的错误:
Oct 4 17:22:43 nice-sweetness-2 sendmail[1221]: 0949MhQb001221: from=apache, size=2970, class=0, nrcpts=1, msgid=<202010040922.0949MhQb001221@nice-sweetness-2.localdomain>, relay=apache@localhost
Oct 4 17:22:43 nice-sweetness-2 sendmail[1221]: 0949MhQb001221: to==?utf-8?B?RUHpgqbllJDogIHluIg=?= <9907696@qq.com>, ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=32970, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]
解决方法:
修改host文件,vi /etc/hosts
添加下面两行,这里与上面出错的服务器名称对应
127.0.0.1 nice-sweetness-2.localdomain
127.0.0.1 nice-sweetness-2
保存hosts文件后,重启sendmail服务:service sendmail restart
现在再试一下,就可以通过php调用sendmail发邮件了。
还有一点忘了,重启服务器后,如果运行:netstat -ntlp
发现sendmail没有启动,这时就要添加sendmail的启动项。
要把sendmail加到启动项:systemctl enable sendmail.service
重启后,运行netstat -ntlp,会看到sendmail已经启动了。
本文TAG:web服务器
猜你喜欢
- 2023-12-03Discuz不显示在线会员列表以及自定义用户组图标不显示问题的解决方法
- 2023-12-02自定义网站字体
- 2021-02-21PHP不缓存到浏览器的方法
- 2020-11-23centos8安装nginx+php+mysql
- 2020-10-31增加vps的swap虚拟内存的方法centos
- 2019-08-12Python连接Mysql并转成exe文件定时执行
已有1位网友发表了看法
招投标 评论于 [2021-01-21 15:53:26] 回复
跟着博主能学到很多有用的东西呢