ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

PHP邮件发送:PHPMailer

2021-05-11 09:32:23  阅读:314  来源: 互联网

标签:PHPMailer SMTP params mail PHP com example 邮件


说一下PHPMailer发送邮件,很简单!

参考:
gitHub:PHPMailer
菜鸟教程:PHPMailer

<?php
/**
 * Created by PhpStorm
 * @author sxd
 * @data 2021/5/10 13:27
 */

namespace app\service;

//Import PHPMailer classes into the global namespace
//These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
use app\facade\Log;

class PhpMailerService
{
    public function send($params)
    {
        //Instantiation and passing `true` enables exceptions
        $mail = new PHPMailer(true);
        try {
            //Server settings
            $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      // 调试模式:启用详细调试输出,默认关闭、生产环境请注释
            $mail->isSMTP();                                            // 使用SMTP
            $mail->Host       = $params["host"];                        // SMTP服务器,例qq的:smtp.qq.com
            $mail->SMTPAuth   = true;                                   // 启用SMTP验证
            $mail->Username   = $params["username"];                    // SMTP 用户名  即邮箱的用户名,例:user@example.com
            $mail->Password   = $params["password"];                    // SMTP 密码  部分邮箱是授权码(例如163邮箱)
            $mail->SMTPSecure = "ssl";                                  // 允许 TLS 或者ssl协议
            $mail->Port       = 465;                                    //服务器端口 25 或者465 具体要看邮箱服务器支持

            //收件人
            $mail->setFrom($params["from"], '');  // 发件人 例:from@example.com
            $mail->addAddress($params["to"], '');     // 收件人 例:to@example.com
            // $mail->addAddress('ellen@example.com');               // 可添加多个收件人
            $mail->addReplyTo($params["from"]);  // 回复的时候回复给哪个邮箱 建议和发件人一致
            // $mail->addCC('cc@example.com');  // 抄送
            // $mail->addBCC('bcc@example.com');   // 密送

            //附件
            // $mail->addAttachment('/var/tmp/file.tar.gz');         // 添加附件
            // $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // 发送附件并且重命名

            //内容
            $mail->isHTML(true);                                  // 邮件正文是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容
            $mail->Subject = $params["subject"];  // 邮件主题
            $mail->Body    = $params["body"];   // 邮件正文
            // $mail->AltBody = $params["body"];  // 不带html样式的正文:如果邮件客户端不支持HTML则显示此内容
            $mail->send();
            Log::record("邮件发送成功,内容:" . json_encode($params), 'info');
            return true;
        } catch (Exception $e) {
            Log::record("邮件发送失败,内容:" . json_encode($params) . ",失败原因:{$mail->ErrorInfo}", 'error');
            return false;
        }
    }

}

标签:PHPMailer,SMTP,params,mail,PHP,com,example,邮件
来源: https://blog.csdn.net/xiaodong_526/article/details/116640502

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有