学习ch04过程中使用mail()函数时遇到以下问题,提示需要配置php.ini文件,才能使用mail()函数发送邮件。
安装sendmail
如上所述,wamp不能单数使用mail()函数,需要安装sendmail。
sendmail官网
为了使用方便,本人把sendmail压缩包解压到的Wamp文件夹下(D:\Study\Wamp\Sendmail)
配置php.ini
文件路径:D:\Study\Wamp\bin\apache\apache2.4.41\bin\php.ini
一定要注意选择apache文件夹中的php.ini文件,本人开始选择的是php下的php.ini文件,修改后不起作用。
以记事本的形式打开文件进行编辑。
php.ini文件一共需要修改四处地方,按CTRL+F键查找关键字mail,找到[mail function]处,进行修改
[mail function]
SMTP = smtp.qq.com
smtp_port = 25
sendmail_from =yourmail@qq.com
sendmail_path ="D:\Study\Wamp\Sendmail\sendmail.exe -t"
注意事项:
1.本人在此使用的是QQ邮箱,可以根据需要选择自己用的邮箱,修改中间参数即可,例如163邮箱:smtp.163.com
2.sendmail_path 是sendmail的存储路径
3.sendmail_from是你的服务器调用发邮件的账号。
启动SMTP服务
在上一步中选择的yourmail@qq.com账号中开启SMTP服务后,你的服务器才可以调用你的账号发送邮件
1.登录邮箱账号(在此以QQ邮箱为例)
2.设置 --> 账户 --> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
3.选择IMAP/SMTP服务,点击开启。
根据提示发送短信,点击‘我已发送’,确认后会返回你的邮箱的授权码,复制下来,在配置sendmail.ini中使用
配置sendmail.ini
文件路径:D:\Study\Wamp\Sendmail
以记事本的形式打开文件进行编辑。
smtp_server=smtp.qq.com
smtp_port=25
smtp_ssl=auto
error_logfile=error.log
debug_logfile=debug.log
auth_username='yourmail@qq.com'
auth_password=授权码
force_sender=yourmail@qq.com
注意事项:
1.修改服务器,同php.ini文件中相同:smtp.qq.com
2.错误日志,名称不需要修改,把前面的分号去掉。(分号是注释的意思)
3.auth_username 和 force_sender相同,都是你的邮箱账号,和配置文件php.ini中填写相同的账号!!!
4.auth_password就是开启SMTP服务中复制的授权码!!!(不是邮箱账号密码)
测试
上述操作完成后,重启WAMP后,再进行测试。
#test_mail.php
<?php
$flag = mail('yourtest_recieve_mail@qq.com','TEST','test the mail() function');
if($flag){
echo "邮件发送成功";
}else{
echo "邮件发送失败";
}
?>
1.在上述代码文件中应用mail()函数,mail()函数的三个参数:第一个参数是接收邮件的账号,第二个参数是邮件标题,第三个参数是邮件内容。该函数还有多个参数,可根据需求自己添加,在这儿因为仅用于测试,所以只用了基本参数。
2.按F5键调试脚本
3.打开接收邮件的邮箱,收到邮件
综上所述,配置完成,现在可以在php中使用mail()函数了(●’◡’●)
来源:CSDN
作者:菜丁儿
链接:https://blog.csdn.net/weixin_43712064/article/details/103994596