# 腾讯云邮件推送服务(SES)配置指南
## 🎯 配置目标
配置腾讯云SES服务,实现真实的邮件验证码发送功能。
## 📋 详细配置步骤
### 1. 开通腾讯云SES服务
#### 1.1 登录腾讯云控制台
- 访问:https://console.cloud.tencent.com/
- 使用您的腾讯云账号登录
#### 1.2 开通邮件推送服务
1. 在控制台搜索"邮件推送"或"SES"
2. 进入邮件推送控制台
3. 点击"立即开通"
4. 完成实名认证(如需要)
### 2. 获取API密钥
#### 2.1 创建API密钥
1. 控制台 → 访问管理 → API密钥管理
2. 点击"新建密钥"
3. 记录以下信息:
- **SecretId**:如 `AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
- **SecretKey**:如 `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
### 3. 配置发件人邮箱
#### 3.1 添加发件人
1. 邮件推送控制台 → 发件人管理
2. 点击"添加发件人"
3. 填写信息:
- **发件人邮箱**:如 `noreply@yourdomain.com`
- **发件人名称**:如 `AIGC Demo`
4. 点击"确定"
#### 3.2 验证发件人
1. 系统会向您的邮箱发送验证邮件
2. 点击邮件中的验证链接
3. 验证成功后,发件人状态变为"已验证"
### 4. 修改配置文件
编辑 `src/main/resources/application-tencent.properties`:
```properties
# 腾讯云配置
tencent.cloud.secret-id=AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
tencent.cloud.secret-key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 邮件推送服务配置
tencent.cloud.ses.region=ap-beijing
tencent.cloud.ses.from-email=noreply@yourdomain.com
tencent.cloud.ses.from-name=AIGC Demo
tencent.cloud.ses.template-id=your-email-template-id
```
### 5. 配置邮件模板(可选)
#### 5.1 创建邮件模板
1. 邮件推送控制台 → 邮件模板
2. 点击"创建模板"
3. 选择"验证码模板"
4. 填写模板内容:
**模板名称**:验证码邮件
**模板内容**:
```html
验证码
验证码
您好!
您的验证码是:{{code}}
请在5分钟内输入,如非本人操作,请忽略此邮件。
此邮件由系统自动发送,请勿回复。
```
#### 5.2 获取模板ID
- 模板创建成功后,记录模板ID
- 更新配置文件中的 `tencent.cloud.ses.template-id`
### 6. 启用腾讯云配置
#### 6.1 修改主配置文件
编辑 `src/main/resources/application.properties`:
```properties
# 启用腾讯云配置
spring.profiles.active=tencent
```
#### 6.2 修改验证码服务
取消注释 `VerificationCodeService.java` 中的腾讯云相关代码:
```java
@Autowired
private TencentCloudConfig tencentCloudConfig;
```
### 7. 测试配置
#### 7.1 启动应用
```bash
mvn spring-boot:run
```
#### 7.2 测试发送验证码
```bash
curl -X POST http://api.yourdomain.com:8080/api/verification/email/send \
-H "Content-Type: application/json" \
-d '{"email": "your-test-email@example.com"}'
```
#### 7.3 检查邮件
- 查看您的邮箱是否收到验证码邮件
- 检查应用日志中的发送状态
## 🔧 配置参数说明
| 参数 | 说明 | 示例值 |
|------|------|--------|
| `secret-id` | 腾讯云API密钥ID | `AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` |
| `secret-key` | 腾讯云API密钥 | `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` |
| `ses.region` | 服务地域 | `ap-beijing` |
| `ses.from-email` | 发件人邮箱 | `noreply@yourdomain.com` |
| `ses.from-name` | 发件人名称 | `AIGC Demo` |
| `ses.template-id` | 邮件模板ID | `123456` |
## 🚨 注意事项
### 安全提醒
1. **保护API密钥**:不要将SecretId和SecretKey提交到代码仓库
2. **使用环境变量**:生产环境建议使用环境变量存储敏感信息
3. **限制权限**:为API密钥设置最小权限
### 费用说明
1. **免费额度**:腾讯云SES通常有免费额度
2. **计费方式**:按发送量计费
3. **成本控制**:设置发送频率限制
### 限制说明
1. **发送频率**:同一邮箱60秒内只能发送一次
2. **验证码有效期**:5分钟
3. **每日限额**:根据您的套餐设置
## 🔍 故障排除
### 常见问题
#### 1. 邮件发送失败
- 检查API密钥是否正确
- 检查发件人是否已验证
- 检查网络连接
#### 2. 验证码收不到
- 检查垃圾邮件文件夹
- 检查邮箱地址是否正确
- 检查发送频率限制
#### 3. 配置不生效
- 检查配置文件路径
- 检查profile配置
- 重启应用
### 日志查看
```bash
# 查看应用日志
tail -f logs/application.log | grep "验证码"
```
## 📞 技术支持
- 腾讯云SES文档:https://cloud.tencent.com/document/product/1288
- 腾讯云技术支持:https://cloud.tencent.com/about/connect