1、下载phpmailer压缩包
1) 从 github 上下载:https://github.com/PHPMailer/PHPMailer/
2) 使用 composer 安装: composer require phpmailer/phpmailer
2、公用方法代码
/** * 发送邮件 * @param string|array $mailto 目标邮箱(发送多目标邮箱时,则该值为数组) * @param string $subject 邮件标题 * @param string $content 邮件正文内容 * @return bool * @throws Exception */ function sendEmail($mailto = '', $subject = '', $content = '') { // 实列化PHPMailer,同时传递true表示启用异常机制 $mail = new PHPMailer(true); try { // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式, // 可选择的值有 1 、 2 、 3 $mail->SMTPDebug = 0; // 启用调试 $mail->isSMTP(); // 设置mailer使用简单的邮件传输协议 $mail->Host = 'smtp.163.com'; // SMTP服务器 $mail->SMTPAuth = true; // 允许 SMTP 认证 $mail->Username = 'h001@163.com'; // SMTP 用户名 即邮箱的用户名 $mail->Password = '******'; // SMTP 密码 部分邮箱是授权码(例如163邮箱) $mail->SMTPSecure = 'ssl'; // 允许 TLS 或者ssl协议 $mail->Port = 465; // 服务器端口 25 或者465 具体要看邮箱服务器支持 $mail->CharSet = 'utf-8'; //设定邮件编码 也可选 GB2312 //Recipients //设置smtp的helo消息头 这个可有可无 内容任意 // $mail->Helo = 'Hello smtp.qq.com Server'; //设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名 // $mail->Hostname = 'http://www.lsgogroup.com'; $mail->setFrom('h001@163.com', 'H先生'); //发件人信息 //$mailto 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可 //判断是否为多目标邮箱 if(is_array($mailto)){ //是数组则为多邮箱,则循环调用 foreach ($mailto as $v){ $mail->addAddress($v); // 发送到的目标邮箱 } } else { //非数组则只调用一次 $mail->addAddress($mailto); // 发送到的目标邮箱 } //$mail->addAddress('ellen@example.com'); // 可添加多个收件人 //$mail->addReplyTo('xxxx@163.com', 'info'); //回复的时候回复给哪个邮箱 建议和发件人一致 //$mail->addCC('cc@example.com'); //抄送 //$mail->addBCC('bcc@example.com'); //密送 //发送附件 //为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称 // $mail->addAttachment('../xy.zip'); // 添加附件 // $mail->addAttachment('../thumb-1.jpg', 'new.jpg'); // 发送附件并且重命名 //Content $mail->isHTML(true); // 是否以HTML文档格式发送,发送后客户端可直接显示对应HTML内容 $mail->Subject = $subject; // 发送邮箱的标题 $mail->Body = $content; // 发送邮箱的正文 $mail->AltBody = '您的邮件客户端不支持HTML内容的显示'; //如果邮件客户端不支持HTML则显示此内容 //发送成功返回 1 return $mail->send(); }catch (Exception $e) { //exception($mail->ErrorInfo, 1001); return -1; } } //单一目标调用 halt(sendEmail('h001@163.com','测试邮件','<h1>这是邮件内容中的标题</h1><br><a href="https://www.djlog.cn">跳转DjLog博客</a>')); //多目标调用 halt(sendEmail(['h001@163.com','h002@163.com'],'测试邮件','<h1>这是邮件内容中的标题</h1><br><a href="https://www.djlog.cn">跳转DjLog博客</a>'));
感谢分享,以后会常来逛逛的
客气客气