php中mail()改用msmtp发送邮件

本文介绍如何将PHP中的mail()函数从默认的sendmail切换到轻量级的msmtp,并详细记录了整个配置过程,包括修改配置文件、权限设置等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php中的mail()函数默认调用的是sendmail,这次我将其换成了轻量级的msmtp。在次过程中涉及到:修改配置文件php.ini,创建配置文件msmtprc或(.msmtprc)并修改其权限。

 

创建msmtp的配置文件/etc/msmtprc或~/.msmtprc:

1 account default
2 host smtp.qq.com
3 auth login
4 from youremail@qq.com
5 user youremail@qq.com
6 password yourpassword
7 logfile /usr/local/msmtp/msmtp.log

 

/etc/php5/apache2/php.ini中设置:

sendmail_path = '/usr/bin/msmtp -t -i'

另外一个php.ini文件在/etc/php2/cli中,这是command line中的php配置文件。如果希望在命令行中运行例如"php testmailing.php"类似操作,可以对其做同样修改。至此,命令行中的mail()函数调用成功。

 

之后将msmtprc的权限提至644:

sudo chmod 644 /etc/msmtprc

至此,browser中的mail()函数调用成功。

 

原本只是想试一下php的mail()函数,想不到配置了两天,原因又是权限不够。目前还是对linux不够熟悉,文件的权限真是个大问题。这次虽然解决了问题,不过msmtprc的权限为644,其中还包含了明文密码。安全起见,可以把配置文件存入数据库在进行加密处理,当然这又是后话了。

转载于:https://www.cnblogs.com/devai/p/4299123.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值