首页 » 网站建设 » php发邮件法式技巧_php下若何简单快捷的实现邮件发送

php发邮件法式技巧_php下若何简单快捷的实现邮件发送

访客 2024-11-21 0

扫一扫用手机浏览

文章目录 [+]

phpMailer 是一个非常强大的 php发送邮件类,可以设定发送邮件地址、回答地址、邮件主题、html网页,上传附件,并且利用起来非常方便。

phpMailer 的特点:

php发邮件法式技巧_php下若何简单快捷的实现邮件发送

1、在邮件中包含多个 TO、CC、BCC 和 REPLY-TO。
2、平台运用广泛,支持的 SMTP 做事器包括 Sendmail、qmail、Postfix、Gmail、Imail、Exchange 等等。
3、支持嵌入图像,附件,HTML 邮件。
4、可靠的强大的调试功能。
5、支持 SMTP 认证。
6、自定义邮件头。
7、支持 8bit、base64、binary 和 quoted-printable 编码。

phpmailer 安装或者下载办法:

php发邮件法式技巧_php下若何简单快捷的实现邮件发送
(图片来自网络侵删)

从 github 高下载: https://github.com/PHPMailer/PHPMailer/

就这三个文件

大家实在下载不来的可以直接找我要,没紧要的

php开启socket和openssl扩展,这种缺点到时候办理就行

到这一步,我们就可以把这个压缩包解压到我们的项目中了,对付php来讲,如果我们用了框架,比如think PHP, 那我们把他放到extend目录下,如下图:

think PHP

调用时用如下:

如果没用框架,那就放到公共的三方引用目录里面或直接就放到你当前php文件的同级目录下,没什么关系,引用路径写对就行,如下图:

调用时如下:

到这一步相信大家都没什么问题,下面重点谈谈代码层面的问题:

发送之前须要拥有自己的邮件做事器,测试的时候其实用自己申请的免费邮箱最方便了,不须要自己再搭建做事器了,可能要配置邮箱的SMTP做事,大部分公共邮箱(163、qq等)为了安全默认是关闭的。

网易邮箱配置如下图:

QQ 邮箱干系配置如下图:

我们调试的时候一样平常都是用免费的邮件做事器,QQ或163, 用QQ 邮箱时,大家随意马虎忽略一个问题,那便是QQ邮箱走465端口,ssl协议,以是我们如下配置:

把稳一点, 密码为单独的授权码,不是你的邮箱密码,有人卡在这了,哈哈

如果用别的邮箱,可以走25端口,但这有一点特殊坑,便是阿里云默认25端口是关的,以是没办法,要么不用25端口,要么便是向阿里云申请25端口,要么便是换做事器供应商,如IDC等等,

用25端口就不用ssl协议了,

详细代码便是这一条写不写的差异.

还有便是同时发送多人和多张附件的问题:

发送多人,处理参数,循环

发送附件,处理参数,循环

实在是没什么好说的,便是附件路径要直接指向你的二进制文件,相对路径和绝对路径都行,但不是网图链接或三方图片做事器链接,比如七牛云和阿里云oss,这种只能先下载到本地或做事器才行,把稳个别下载授权问题,你懂的

到这一步差不多了,直接放代码:

/

发送邮件(重构/支持附件)

/

//参数有吸收邮箱,可单人,可多人, 字符串和数组都行,看你

//主题,这不用多说

//内容, 可html,自动识别

//附件,上面已经说过把稳事变

//三方包里面不用做任何修正

public static function send_email($sendTo, $titleName, $content, $file_list = []) {

$email = array(

'charset' => 'UTF-8', //字符编码

'host' => 'smtp.leju.com', //企业邮局域名

'port' => 25, //端口

'username' => '', //邮件发送人

'password' => '', //密码

);

require_once 'Phpmailer/phpmailer.php';

$mail = new PHPMailer(); //实例化

//附件

if (!empty($file_list)) {

foreach ($file_list as $key => $value) {

$mail->AddAttachment($value); // 添加附件

}

}

$titleName = $titleName;

// 利用SMTP办法发送

$mail->IsSMTP();

// 设置邮件的字符编码

$mail->CharSet = $email['charset'];

// 企业邮局域名

$mail->Host = $email['host'];

$mail->Port = $email['port'];

// 启用SMTP验证功能

$mail->SMTPAuth = true;

//邮件发送人的用户名(请填写完全的email地址)

$mail->Username = $email['username'];

// 邮件发送人的 密码 (授权码)

$mail->Password = $email['password']; //修正为自己的授权码

//邮件发送者email地址

$mail->From = $email['username'];

//发送邮件人的标题

$mail->FromName = '';

//做一下处理, 可以多个收件人,也可以一个

//收件人地址,可以更换成任何想要吸收邮件的email信箱,格式是AddAddress(\"大众收件人email\"大众,\"大众收件人姓名\"大众)

if (!empty($sendTo)) {

$sendTo = explode(\公众,\公众, $sendTo);

foreach ($sendTo as $k => $v) {

$mail->AddAddress($v, substr($v, 0, strpos($v, '@')));

}

}

//回答的地址

$mail->AddReplyTo($email['username'], \"大众\"大众);

//set email format to HTML //是否利用HTML格式

$mail->IsHTML(true);

//邮件标题

$mail->Subject = $titleName;

//邮件内容

$mail->Body = $content;

//附加信息,可以省略

$mail->AltBody = '';

if (!$mail->Send()) {

$mail_return_arr['code'] = false;

$str = \"大众邮件发送失落败.

\"大众;

$str .= \"大众缺点缘故原由: \"大众 . $mail->ErrorInfo;

$mail_return_arr['info'] = $str;

} else {

$mail_return_arr['code'] = true;

$str = \"大众邮件发送成功\公众;

$mail_return_arr['info'] = $str;

}

return $mail_return_arr;

}

到这一步,大家可以自己进行测试了,有问题可以留言,一样平常常见的问题我都可以为大家解答,或发我邮箱lnmp171@163.com

标签:

相关文章

C语言颜色值,编程世界中的色彩斑斓

在编程的世界里,代码犹如文字的海洋,而颜色值则是点缀其中的珍珠。C语言作为一种经典的编程语言,其颜色值在代码中的运用显得尤为重要。...

网站建设 2024-12-26 阅读0 评论0

C语言金字塔,探索编程之美

在编程的世界里,金字塔是一种常见的结构,它象征着稳定、力量和美感。C语言作为一门古老而又强大的编程语言,其金字塔结构更是独具魅力。...

网站建设 2024-12-26 阅读0 评论0

C语言读写器,技术革新下的数据读写新篇章

随着科技的不断发展,数据读写技术在各个领域都扮演着至关重要的角色。在众多编程语言中,C语言以其高效、稳定、易学等特性,成为了数据读...

网站建设 2024-12-26 阅读0 评论0

C语言词法,编程之路的基石

C语言作为一门历史悠久、应用广泛的编程语言,已经走过了几十年的风雨历程。在这漫长的岁月里,C语言以其卓越的性能和丰富的功能,赢得了...

网站建设 2024-12-26 阅读0 评论0

C语言编译,从代码到机器语言的奇妙之旅

在计算机科学的世界里,编程语言是沟通人与机器的桥梁。C语言作为一门历史悠久、应用广泛的编程语言,其编译过程更是充满了奥秘。本文将带...

网站建设 2024-12-26 阅读0 评论0