php邮件发送
goer ... 2022-01-15 大约 2 分钟
[toc]
# PHPMailer
php 发送邮件 phpMailer (opens new window)
首先 装备两个邮箱, 一个邮箱服务器(用网易的公共服务器)
# 1. 开启SMTP
登录你的 网易邮箱 设置 开启
IMAP/SMTP服务
获取到==授权码==
# 2. 下载PHPMailer
phpMailer 是一个非常强大的 ph p发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。
1. 新建composer.json
{
"require":{
"phpmailer/phpmailer": "^6.5" // 版本
}
}
2. composer require phpmailer/phpmailer
3. 下载 https://github.com/PHPMailer/PHPMailer/
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require './vendor/autoload.php';
$mail = new PHPMailer(true); // Passing `true` enables exceptions
try {
//服务器配置
$mail->CharSet ="UTF-8"; //设定邮件编码
$mail->SMTPDebug = 0; // 调试模式输出
$mail->isSMTP(); // 使用SMTP
$mail->Host = 'smtp.163.com'; // SMTP服务器
$mail->SMTPAuth = true; // 允许 SMTP 认证
$mail->Username = 'hi_goer'; // SMTP 用户名 即邮箱的用户名
$mail->Password = 'HKZDLRKBMPDVOLLT'; // SMTP 密码 部分邮箱是授权码(例如163邮箱)
$mail->SMTPSecure = 'ssl'; // 允许 TLS 或者ssl协议
$mail->Port = 465; // 服务器端口 25 或者465 具体要看邮箱服务器支持
$mail->setFrom('hi_goer@163.com', 'hi_goer'); //发件人
$mail->addAddress('3088760685@qq.com', '鸩羽千夜'); // 收件人
$mail->addReplyTo('hi_goer@163.com', 'hi_goer'); //回复的时候回复给哪个邮箱 建议和发件人一致
$mail->addAttachment('./ak.ico'); // 添加附件
// $mail->addAttachment('../thumb-1.jpg', 'new.jpg'); // 发送附件并且重命名
//Content
$mail->isHTML(true); // 是否以HTML文档格式发送 发送后客户端可直接显示对应HTML内容
$mail->Subject = '图片' . time();
$mail->Body = '<h1>这里有一张图标</h1>' . date('Y-m-d H:i:s');
$mail->AltBody = '这里有一张图标';
$mail->send();
echo '邮件发送成功';
} catch (Exception $e) {
echo '邮件发送失败: ', $mail->ErrorInfo;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
ok ,现在就可以发送邮件了,很简单