docs: SMTP端口587无SSL发送经验教训

This commit is contained in:
2026-04-14 16:49:46 +08:00
parent 7a8a503893
commit bbabee1b37

138
MEMORY.md
View File

@@ -82,6 +82,32 @@ git push origin v1.0.0
| 本地LLM | http://192.168.2.5:1234/v1 | qwen3.5-4b |
| API Key | sk-lm-fuP5tGU8:Hi7YU87jHyDP6Ay8Tl2j | |
### SMTP邮件发送经验 ⭐
**端口587无SSL的正确做法**
```python
import smtplib
server = smtplib.SMTP(host, 587) # 直接连接不用SMTP_SSL
server.ehlo()
server.login(user, pass)
server.sendmail(from, to, msg)
server.quit()
```
**错误做法(会导致邮件丢失):**
- ❌ 使用 `server.starttls()` - 服务器不支持STARTTLS时会报错即使跳过也可能导致邮件格式问题
- ❌ 使用 `SMTP_SSL(host, 587)` - 587端口不是SSL端口
**服务器返回解读:**
- `{}` 空字典 = 服务器已接收,等待投递
- 有内容 = 投递失败的收件人列表
**mail.tphai.com 配置:**
- 主机: mail.tphai.com
- 端口: 587无SSL明文
- 用户: favor@tphai.com
- 密码: favor@!
---
## 项目索引
@@ -101,18 +127,110 @@ git push origin v1.0.0
## 更新日志
### 2026-04-13
- AI对话系统 v2.1.1:多版本历史消息功能
- 添加浏览器标签favicon🤖图标)
- 复制按钮在消息内容下方,一直显示
- 重新生成功能升级:
- 点击重新生成时隐藏当前内容显示loading动画
- 生成完成后添加新版本,保留旧版本
- 版本切换控件(左右箭头 + 版本指示器)
- 可切换查看历史版本
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.1.1
### 2026-04-14
- Xian Favor v1.9.0:发送邮件功能 + 邮箱管理
- 每个收藏卡片添加"发送邮件"按钮(📧图标)
- 点击弹出模态框:选择已有邮箱或输入新邮箱
- 新邮箱自动保存到邮箱管理
- 邮箱管理页面:添加、编辑、删除邮箱
- SMTP配置支持环境变量SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS
- Git仓库: http://192.168.2.8:12007/coder/xian-favor v1.9.0
- AI对话系统 v2.4.3:多模态图片支持
- 图片 base64 数据传递给视觉模型OpenAI 多模态格式)
- 需选择支持视觉的 Agent如 vlm-agent才能识别图片
- 图片信息保存在 extra_data 中供历史记录显示
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.4.3
### 2026-04-13
- AI对话系统 v2.4.0:文件上传功能
- 支持图片上传PNG、JPG、GIF等预览显示
- 支持文本文件上传txt、md、json、csv等内容自动添加
- 支持 PDF 和 Word 文档上传
- 文件内容自动添加到消息中供 AI 分析
- 多文件同时上传支持
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.4.0
- AI对话系统 v2.3.9:修复历史搜索结果显示
- WebSocket history 消息添加 extra_data 字段
- 选择对话时正确传递搜索结果数据
- 前端 appendMessage 接收 extraData 参数并处理
- 刷新页面后历史对话中的搜索结果正确显示
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.3.9
- AI对话系统 v2.3.7:历史搜索结果显示修复
- appendMessage 函数接收 extraData 参数
- 创建用户消息时直接处理搜索结果显示
- 简化 displayHistory 逻辑,统一处理方式
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.3.7
- AI对话系统 v2.3.6:搜索结果持久化
- 用户消息 extra_data 存储搜索结果search_results, search_query
- API 返回消息时包含 extra_data
- 前端 displayHistory 处理历史搜索结果显示
- 刷新页面后历史对话中的搜索结果保持原状
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.3.6
- AI对话系统 v2.3.5:修复搜索结果数量配置
- 搜索结果数量根据工具配置读取max_results
- LLM上下文和前端展示都使用配置的数量
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.3.5
- AI对话系统 v2.3.4:对话流程优化
- 用户发送消息时前端立即显示(不用等后端广播)
- 后端处理顺序调整:广播用户消息 → 执行搜索 → 发送搜索结果 → 调用LLM
- 前端收到 user_message 时检查是否已显示(避免重复)
- 流程顺序:用户消息 → 搜索结果(折叠) → AI回复
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.3.4
- AI对话系统 v2.3.3搜索结果UI优化
- 搜索结果放到用户消息下面(流程逻辑更清晰)
- 默认折叠,点击展开/收起
- 显示搜索关键词和结果数量摘要
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.3.3
- AI对话系统 v2.3.2:修复 tools 字段读取
- get_agent_config 添加 tools 字段返回
- AI对话系统 v2.3.1:搜索功能修复
- 添加详细日志帮助调试搜索执行过程
- 搜索结果发送到前端展示search_results 类型消息)
- 前端增加搜索结果展示组件(标题、摘要、来源)
- 修复 datetime 导入错误
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.3.1
- AI对话系统 v2.3.0:工具管理重构
- ToolConfig 模型:通用工具配置,支持多种类型(搜索、计算器、代码执行、图像生成等)
- ToolUsageLog 模型:工具调用日志记录
- 工具使用统计:调用次数、成功率、错误记录
- 后台管理界面:工具列表+统计展示(调用次数、成功率、最近错误)
- API 重构:/api/v2/tools替代 /api/v2/search-tools
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.3.0
- AI对话系统 v2.2.2:优化搜索触发逻辑
- 搜索改为勾选即执行,不再依赖关键词检测
- 修复 Agent tools 字段默认为空的问题
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.2.2
- AI对话系统 v2.2.1:修复搜索功能
- 修复数据库缺少 tools 字段问题SQLite ALTER TABLE
- 移动搜索复选框到输入框区域(快捷语句栏)
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.2.1
- AI对话系统 v2.2.0搜索工具功能Tavily Search
- 新增 SearchToolConfig 模型:支持搜索工具配置管理
- Agent 增加 tools 字段:可配置可用工具列表
- 后台管理增加搜索工具配置页面(增删改查)
- Agent 管理增加工具启用开关(搜索工具)
- 网页端增加搜索工具禁用复选框(实时控制)
- WebSocket chat 处理增加关键词触发搜索逻辑
- 默认配置 Tavily Search API已填入 API Key
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.2.0
- AI对话系统 v2.1.6:简化新建对话判断条件
- 只检查 `!currentConversationId && !hasMessages` 即可判断新建状态
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.1.6
- AI对话系统 v2.1.5:优化新建对话逻辑
- 新建对话时检查是否已经是新建状态无对话ID、无消息、显示欢迎界面
- 避免重复点击新建按钮创建多个空对话
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.1.5
- AI对话系统 v2.1.3:多版本历史消息功能完善
- 添加浏览器标签favicon🤖图标
- 复制按钮在消息内容下方,一直显示
- 重新生成功能:
- 点击重新生成时隐藏当前内容显示loading动画
- 生成完成后移除loading显示新内容
- 保留旧版本,支持版本切换
- 版本切换控件:简化布局,整合到操作按钮区域(复制|重新生成|< 1/3 >
- Git仓库: http://192.168.2.8:12007/coder/ai-chat-system v2.1.3
### 2026-04-13 (其他更新)
- LLM Proxy v2.0.0:合并后台管理到单端口
- 端口: 19007 (原 19007+19008)
- 前台API: http://localhost:19007/v1/chat/completions