关于php 用 mail 函数发送邮件
使用前有必要先看看文档:
来自php手册:https://www.php.net/manual/zh/ref.mail.php
windows 环境下, mail 函数 当前是发送不了邮件的!
所以嘛, 下面是关键步骤:
– 需要下载 sendmail.zip 这个插件包 http://glob.com.au/sendmail/ (记得解压缩哈! 路径后面是会用到的, 别藏得太深)
– 编辑 php.ini 配置文件中 【mail function】 相关配置项 (后面附截图)
– 编辑 上面 sendmail 配置文件 sendmail.ini 中[sendmail] 配置项 (同上)
接下来就是看图说话了
php.ini 配置项(改了配置文件记得重启服务 ^0 ^)

sendmail.ini配置项:

; force the sender to always be the following email address
; this will only affect the "MAIL FROM" command, it won't modify
; the "From: " header of the message content
force_sender=2xxxxxx@qq.com
force_sender=发送邮箱 这个不写 邮件可能会发送失败, 查看错误日志(error.log)
可能会遇到 Message is missing sender’s address 这样的错误~!
授权码
以qq邮箱为例: 进入你的邮箱,在 设置 邮箱设置----账户–里面找到 smtp 服务, 开启----得到授权码

下面是PHP 代码:
<?php
### 给自己发一封邮件也是可以的
$to = '28xxxxx@qq.com';//收件人的邮箱, 可以写自己的qq邮箱, 发给自己咯
$subject = '邮件测试!!!!';// 邮件标题
//$message = 'hello~!';//邮件内容
//$headers = 'MIME-Version: 1.0' . "\r\n";
//$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//$headers = 'From: 28xxxx@qq.com';// From: xxxx.com 表示该邮件是来自谁的 可以省略, 省略后该邮件显示为代发邮件
//var_dump(mail($to, $subject, $message ,$headers));
var_dump(mail($to, $subject, null ,null));
如果省略了headers 里面的 From: 内容, 邮件的发件人是空的, 邮件为代发邮件
下面是发送成功的真相

额。。。待续~!
PHP使用sendMail发送邮件指南

本文档介绍了如何在PHP环境中使用sendMail函数发送邮件,特别指出在Windows下mail函数无法直接发送邮件。通过下载sendmail插件,配置php.ini和sendmail.ini文件,以及设置QQ邮箱的SMTP服务获取授权码,可以实现邮件发送。文中强调了force_sender参数的重要性,以及headers中From字段对于显示发件人信息的关键作用。
517

被折叠的 条评论
为什么被折叠?



