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 等模型,支持对话分享,自定义预设,云端同步,模型市场,支持弹性计费和订阅计划模式,支持图片解析,支持联网搜索,支持模型缓存,丰富美观的后台管理与仪表盘数据统计。

Home Page:https://chatnio.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SMTP服务改进

SHLE1 opened this issue · comments

  • 在使用第三方smtp服务商时,“用户名”这一栏经常会要求填写自己的注册账号比如“xxx@gmail.com“来进行验证,但是chatnio用户名一栏似乎不支持在“用户名”一栏出现“@”符号,会提示“SMTP 发件参数未正确配置,已禁用邮箱验证”。
  • 希望能去掉这一限制以更好的支持第三方smtp服务。(个人使用brevo,确认配置正确,在其他项目可以发送邮件)
image

用户名要去掉@后面的 只需要填smtp的username
发件人才要加@后面的

比如你用 postmaster@deeptrain.net 邮箱发件

用户名为 postmaster
发件人为 postmaster@deeptrain.net

  • 问题就是username是service@mydomain.com,含有@就提示“SMTP 发件参数未正确配置,已禁用邮箱验证
  • 例如我用的brave,sender为service@mydomain.com,在用户名处填service是无法通过brevo的验证的,会弹“请求失败
    sent mail failed: 535 5.7.8 Authentication failed
  • 这是smtp的设置,在smtpserver测试时将“login“填入”用户名“框才可以发送成功,而在chatnio并不允许将“login“填入“用户名“,所以无法通过认证
  • 因为登陆邮箱和发件邮箱并不同,所以区分了用户名和发件人。在one-api的smtp设置中,也区分了smtp账户和smtp发送者邮箱。
image

smtp server 和 port 填的没问题,用户名应该填你的 brevo 用户名,发件人填你的 login

https://github.com/Deeptrain-Community/chatnio/blob/main/utils/smtp.go#L33-L56

正常 SMTP 发件 用户名填入@后缀是无法工作的

  • 您说的这样确实可以,但是这样的收件人端显示发件人是代发而不是xxx@mydomain.com
  • 可否像独角数卡一样,添加更多自定义配置来实现?
  • 感谢您的耐心回复和指导
63CBDA82-2B95-4266-9575-FFD483E8CDCE

我刚刚注册了一下 brevo,发现无法正常工作,即使通过去除用户名的@限制后mail.v2库也无法工作。
看样子和其他 SMTP 服务有区别,等我有空研究一下,看看如何修复,感谢反馈。

用户名要去掉@后面的 只需要填smtp的username 发件人才要加@后面的

测试使用mxroute的邮局(发件用户名使用的是邮箱地址)尝试使用 465\25\587 端口,均报错无法正常发送测试邮件

用户名要去掉@后面的 只需要填smtp的username 发件人才要加@后面的

测试使用mxroute的邮局(发件用户名使用的是邮箱地址)尝试使用 465\25\587 端口,均报错无法正常发送测试邮件

用户名去掉@就好了?

当前推荐使用腾讯云 SES / QQ / Gmail 等 SMTP 服务商, mail.v2 库对这类特殊服务商支持不良好。

Greetings For @SHLE1 @emengweb ,

该问题已修复,同时依需要增加了部分功能。具体分析和其他相关信息可见我刚刚提交的 pr #213
目前该 pr 正在等待 merge ,您可以选择前往 https://github.com/Deeptrain-Community/chatnio/tree/Rakuyou_Dev 分支拉取最新代码或等待主分支合并。

Best Regards,
Junhai Deng