<?php
/**
* @param $address mixed 收件人 多个收件人/或需要设置收件人昵称时为数组 array($address1,$address1)/array(array('address'=>$address1,'nickname'=>$nickname1),array('address'=>$address2,'nickname'=>$nickname2))
* @param $subject string 邮件主题
* @param $body string 邮件内容
* @param $file string 附件
* @return bool|string 发送成功返回true 反之返回报错信息
* @throws Exception
*/
function send_mail_by_smtp($address, $subject, $body, $file = '')
{
require('./PHPMailer-master/Exception.php');
require('./PHPMailer-master/PHPMailer.php');
require('./PHPMailer-master/SMTP.php');
//date_default_timezone_set("Asia/Shanghai");//设定时区东八区
$mail = new PHPMailer();
//Server settings
$mail->SMTPDebug = 2;
$mail->isSMTP(); // 使用SMTP方式发送
$mail->Host = 'smtp.126.com'; // SMTP邮箱域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "*****@126.com"; // 邮箱用户名(完整email地址)
$mail->Password = "*****"; // smtp授权码,非邮箱登录密码
$mail->Port = 25;
$mail->CharSet = "utf-8"; //设置字符集编码 "GB2312"
// 设置发件人信息,显示为 你看我那里像好人(xxxx@126.com)
$mail->setFrom($mail->Username, '你看我那里像好人');
//设置收件人 参数1为收件人邮箱 参数2为该收件人设置的昵称 添加多个收件人 多次调用即可
//$mail->addAddress('********@163.com', '你看我那里像好人');
if (is_array($address)) {
foreach ($address as $item) {
if (is_array($item)) {
$mail->addAddress($item['address'], $item['nickname']);
} else {
$mail->addAddress($item);
}
}
} else {
$mail->addAddress($address, 'adsf');
}
//设置回复人 参数1为回复人邮箱 参数2为该回复人设置的昵称
//$mail->addReplyTo('*****@126.com', 'Information');
if ($file !== '') $mail->AddAttachment($file); // 添加附件
$mail->isHTML(true); //邮件正文是否为html编码 true或false
$mail->Subject = $subject; //邮件主题
$mail->Body = $body; //邮件正文 若isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取的html文件
//$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; //附加信息,可以省略
return $mail->Send() ? true : 'ErrorInfo:' . $mail->ErrorInfo;
}
$path = '.\wpic907.jpg';
$ret = send_mail_by_smtp('*******@163.com', 'PHPMailer邮件标题', 'PHPMailer邮件内容', $path);
PHP如何实现SMTP邮件的发送(代码)
不言
转载
编程分享
2019-11-06 13:48:06
简介 是关于PHP如何实现SMTP邮件的发送(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
点击排行
最新评论
-
2025-04-28 09:28:49 评
有了它,AI 都能直接管理 Gitee 代码仓啦 :
234234
-
2024-05-28 18:49:54 评
袅袅炊烟起,长河落日急 :
![[爱了]](/js/img/d1.gif)
-
2023-06-02 13:05:35 评
作为程序员的痛苦 :
做程序员最难的其实是坚持,恒心,毅力,决心,规划,执行力必须很强,否则难成!
-
2023-05-19 12:00:58 评
令人困惑的strtotime :
学习了给博主点赞
-
2023-05-07 15:53:27 评
袅袅炊烟起,长河落日急 :
—— 揽流光,涤眉霜,清露烈酒一口话苍茫。 -
2023-05-07 15:35:51 评
从 Elasticsearch 到 Apache Doris,构建 10 倍性价比提升的新一代日志存储分析平台 :
几十岁的人了都
![[尴尬]](/js/img/d16.gif)
-
2023-05-07 15:34:13 评
Kubernetes Gateway API 深入解读和落地指南 :
//here is mark console.log('mark'); //mark .............................. -
2023-05-07 15:31:26 评
使用MASA全家桶从零开始搭建IoT平台(二)设备注册 :
echo 'Nice'; //Nice -
2023-05-07 15:24:16 评
Android 自定义View 之 圆环进度条 :
![[尴尬]](/js/img/d16.gif)
-
2023-05-06 16:33:01 评
袅袅炊烟起,长河落日急 :
看看新作的模块表现如何。。。
echo '不错';
猜您喜欢
博格推荐
- 【社区精选】在Docker环境下,TDengine的客户端为什么连不上集群?
- mariadb内存占用优化
- Redis专题(1):构建知识图谱
- 15 个惊艳的 CSS 动画案例速查表,助你提升前端技能!
- 总结PHP-FPM与Nginx的通信机制
- 掘地三尺搞定Redis与MySQL数据一致性问题
- 理解索引(中):MySQL查询过程和高级查询
- ApacheShardingSphere数据脱敏全解决方案详解
- Cyril Rolando的插画
- 通过Node+Redi实现API速率限制
- 使用layer框架分页及时间差转换函数
- javascript异步总结归档
- centos7 yum配置安装Mariadb数据库(使用国内Mariadb源)
- php如何实现自动分段下载文件(代码示例)
- mysql索引是什么及怎么使用的?整理的很详细
- Linux三剑客之awk实战详解教程
- 教你使用spatie/async库来写异步的PHP代码
- mysql的索引和事务详细解读
- redis一主二从三哨兵的搭建
- Redis分片(分布式缓存)
