PHP sendMail 发送邮件

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

下面是发送成功的真相

在这里插入图片描述
额。。。待续~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值