PHP发送邮件
一、安装PHPMailer
进入项目目录下,执行:composer require phpmailer/phpmailer
二、使用
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;require 'vendor/autoload.php';$mail = new PHPMailer(true);
header("Content-Security-Policy: script-src 'self' 'unsafe-inline' *.baidustatic.com; style-src 'self' 'unsafe-inline';");
header('Content-Type: application/json');// 邮件配置
$mailConfig = ['smtp_host' => 'smtp.163.com','smtp_port' => 465, // 或587'smtp_user' => 'xxx@163.com','smtp_pass' => 'xxx','from' => 'xxx@163.com','to' => 'xxx@163.com'
];// 发送邮件try {$mail->SMTPDebug = 2;$mail->isSMTP();$mail->Host = $mailConfig['smtp_host'];$mail->SMTPAuth = true;$mail->Username = $mailConfig['smtp_user'];$mail->Password = $mailConfig['smtp_pass'];$mail->SMTPSecure = 'ssl'; // 改为 ssl$mail->Port = $mailConfig['smtp_port']; // 465$mail->setFrom($mailConfig['from'], 'xxx');$mail->addAddress($mailConfig['to']);$mail->CharSet = 'UTF-8';$mail->Encoding = 'base64';$mail->ContentType = 'text/html; charset=utf-8';$mail->isHTML(true);$mail->Subject = 'xxx';$mail->Body = "<h3>xxx</h3><p>xxx:xxx</p><p>xxx:{$username}</p><p>xxx:{$userPhone}</p><p>xxx:" . date('Y-m-d H:i:s') . "</p>";$mail->send();} catch (Exception $e) {throw new Exception("邮件发送失败: " . $e->getMessage());}exit;