Deeptrain-Community / chatnio

🚀 Next Generation AI One-Stop Internationalization Solution. 🚀 下一代 AI 一站式 B/C 端解决方案,支持 OpenAI,Midjourney,Claude,讯飞星火,Stable Diffusion,DALL·E,ChatGLM,通义千问,腾讯混元,360 智脑,百川 AI,火山方舟,新必应,Gemini,Moonshot 等模型,支持对话分享,自定义预设,云端同步,模型市场,支持弹性计费和订阅计划模式,支持图片解析,支持联网搜索,支持模型缓存,丰富美观的后台管理与仪表盘数据统计。
https://chatnio.com
Apache License 2.0
2.71k stars 446 forks source link

feat: SMTP Compatibility Enhancement and SSL Protocol Support (#174) #213

Closed Sh1n3zZ closed 1 week ago

Sh1n3zZ commented 1 week ago

Dear @zmh-program ,

此 pr 中修复了原 issue (#174) 中提到的无法在 chatnio 中使用部分第三方 smtp 服务商的问题。经排查,其原因是由于部分服务商对 RFC5321MailFrom 支持仍存在部分问题(即只允许一个 Email 存在于 FromHeader 中)。同时 mail.v2 库中的 NewDialer 方法的入参依次应为 “主机”、“端口”、“用户名”、“密码” 而非 “主机”、“端口”、“发件人”、“密码” ;同时根据 #174 中的建议 https://github.com/Deeptrain-Community/chatnio/issues/174#issuecomment-2071813556 “添加更多自定义配置”,故决定将判断是否存在 @ 值的正则反过来,即输入中需要附带 @ 且不再判断 @ 后域是否与“发件域名”中的主域名一致。综以上两点,在新的 pr 中作出如下修改

dialer := mail.NewDialer(s.Host, s.Port, s.From, s.Password)
message.SetHeader("From", fmt.Sprintf("%s <%s>", s.Username, s.From))

修改为

dialer := mail.NewDialer(s.Host, s.Port, s.Username, s.Password)
message.SetHeader("From", s.From)

另:实现了 SMTP 的 TLS / SSL 协议切换,可根据需要自行选择

Best Regards, Junhai Deng

vercel[bot] commented 1 week ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
chatnio ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 22, 2024 7:22pm
zmh-program commented 1 week ago

Great, 是否考虑到向下compatible? @Sh1n3zZ

Issues-translate-bot commented 1 week ago

Bot detected the issue body's language is not English, translate it automatically.


Great, is downward compatible considered? @Sh1n3zZ