Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

更新邮件协议后配置需要修改的地方 #44

Closed
muyiacc opened this issue Nov 20, 2023 · 33 comments
Closed

更新邮件协议后配置需要修改的地方 #44

muyiacc opened this issue Nov 20, 2023 · 33 comments

Comments

@muyiacc
Copy link

muyiacc commented Nov 20, 2023

版本:2.3.1(截止最新)

问题类型:疑问解答

问题描述:作者你好~,看到项目最新版本支持pop3和imtp协议,使用客户端连接了,我对于项目的配置只是初始引导界面的内容,最新版本对于配置文件,比如域名和端口需要做哪些修改吗

@Jinnrry
Copy link
Owner

Jinnrry commented Nov 20, 2023

你服务器防火墙需要打开110 465 995端口

@muyiacc
Copy link
Author

muyiacc commented Nov 20, 2023

在邮件客户端,收件服务器填写的域名是什么呢

@muyiacc
Copy link
Author

muyiacc commented Nov 20, 2023

在添加smtp时提示“服务器不支持身份验证方法”

@Jinnrry
Copy link
Owner

Jinnrry commented Nov 20, 2023

如果你使用25端口的话,用“STARTLS”安全方法。如果客户端不支持的话,用465端口且启用SSL

@muyiacc
Copy link
Author

muyiacc commented Nov 20, 2023

客户端是魅族20自带的,我的ssl证书没用pmail申请的,smtp我用的npm反代的,pop3没有前缀我也加不了,而且smtp也好像无法使用ssl

@Jinnrry
Copy link
Owner

Jinnrry commented Nov 20, 2023

如果客户端不支持STARTLS方法的话,那必须由服务端支持smtp with tls,smtp是基于tcp的协议,如果用nginx转发的话,我也不知道怎么开启ssl

ps: smtp、smtps这2个端口不建议转发,如果你要转发的话那你的转发服务器得支持ssl

@muyiacc
Copy link
Author

muyiacc commented Nov 20, 2023

客户端是魅族20自带的,我的ssl证书没用pmail申请的,smtp我用的npm反代的,pop3没有前缀我也加不了,而且smtp也好像无法使用ssl

两张情况使用截图
图片
图片

@Jinnrry
Copy link
Owner

Jinnrry commented Nov 20, 2023

你自己的SSL证书包含smtp.seektao.cc这个域名吗

@muyiacc
Copy link
Author

muyiacc commented Nov 20, 2023

哦对,好像没有,我当时只给web端申请了的,可以用泛域名吗

@Jinnrry
Copy link
Owner

Jinnrry commented Nov 20, 2023

可以

@muyiacc
Copy link
Author

muyiacc commented Nov 20, 2023

研究了下,感谢作者回答最近顺便提个小建议,希望能把imap也实现,把pop加上前缀好使用外部的ssl

@Jinnrry
Copy link
Owner

Jinnrry commented Nov 20, 2023

我本来就打算实现imap的,但是pop,imap这些协议在go里面都没有现成的包,都得自己去看RFC提案然后自己手撸。但是这些协议都是由好多个提案组成的,而且几乎除了RFC以外找不到任何资料。imap比pop复杂很多,就先挑简单的实现了

pop前缀是指什么?pop用的域名加pop前缀吗

@muyiacc
Copy link
Author

muyiacc commented Nov 20, 2023 via email

@Jinnrry
Copy link
Owner

Jinnrry commented Nov 20, 2023

重发了一个版本,把pop服务地址改到 pop+域名了

@Jinnrry
Copy link
Owner

Jinnrry commented Nov 20, 2023

我拿GMail测试了一遍,pop、smtp都正确部署ssl的情况下,输入邮箱地址和密码即可正常连接。整个流程不需要手动设置。体验和其他主流邮箱完全一致了

@muyiacc
Copy link
Author

muyiacc commented Nov 20, 2023

我使用npm的泛域名证书(转换格式后)当ssl,用gmail客户端测试的时候会出现这样的问题
图片

@muyiacc
Copy link
Author

muyiacc commented Nov 20, 2023

问题应该还是在ssl证书上,作者你是直接用项目的ssl服务自动申请的吗

@Jinnrry
Copy link
Owner

Jinnrry commented Nov 21, 2023

直接用项目自带的ssl管理应该没问题。我有自己的证书管理服务,底层跟这个项目的证书是一样的

@Daxhu18
Copy link

Daxhu18 commented Nov 30, 2023

目前发现在三星自带的邮箱客户端用不了,测试过gmail是可以使用,三星自带的邮箱客户端收不到邮件

@ChevalierTieto
Copy link

为什么最新代码里面发送邮件默认都写死25端口了?
形如:err := smtp.SendMail("", domain.mxHost+":25", nil, e.From.EmailAddress, buildAddress(tos), b)
我看历史提交里在v2.20时(f4689d0)是明确使用465端口的
形如 err := smtp.SendMailWithTls("", domain.mxHost+":465", nil, e.From.EmailAddress, buildAddress(tos), b)
stmps发送失败之后下面再尝试用smtp 25端口发送的
想知道这样改动的原因

@Jinnrry
Copy link
Owner

Jinnrry commented Dec 10, 2023

为什么最新代码里面发送邮件默认都写死25端口了? 形如:err := smtp.SendMail("", domain.mxHost+":25", nil, e.From.EmailAddress, buildAddress(tos), b) 我看历史提交里在v2.20时(f4689d0)是明确使用465端口的 形如 err := smtp.SendMailWithTls("", domain.mxHost+":465", nil, e.From.EmailAddress, buildAddress(tos), b) stmps发送失败之后下面再尝试用smtp 25端口发送的 想知道这样改动的原因

因为抓包看了下Gmail和其他主流邮箱服务,服务端通信的时候都不会使用465端口。目前服务端通信都是使用的25端口,然后STATSSL

@ChevalierTieto
Copy link

好吧 因为一般云服务厂商都会封禁25端口,实际部署的时候还需要申请解封,我还以为服务端通信单纯用465也行的

@Jinnrry
Copy link
Owner

Jinnrry commented Dec 10, 2023

好吧 因为一般云服务厂商都会封禁25端口,实际部署的时候还需要申请解封,我还以为服务端通信单纯用465也行的

我测试过,绝大部分邮件服务商都不支持465通信。465仅仅提供给用户使用,服务端通信不能用

@perryles
Copy link

好吧因为一般云服务厂商都会封禁25端口,实际部署的时候还需要申请解封,我还以为服务端通信简单用465也行的

我过测试,结论邮件服务商都不支持465通信。465足以提供给用户使用,服务端通信不能用

请问一些那云服务厂商封禁25端口不是发不了邮件了嘛 目前我的阿里云就不给我开放25端口

@Jinnrry
Copy link
Owner

Jinnrry commented Dec 21, 2023

好吧因为一般云服务厂商都会封禁25端口,实际部署的时候还需要申请解封,我还以为服务端通信简单用465也行的

我过测试,结论邮件服务商都不支持465通信。465足以提供给用户使用,服务端通信不能用

请问一些那云服务厂商封禁25端口不是发不了邮件了嘛 目前我的阿里云就不给我开放25端口

如果25端口的出站和入站都封了,那就没法收没法发了

@perryles
Copy link

好吧因为一般云服务厂商都会封禁25端口,实际部署的时候还需要申请解封,我还以为服务端通信简单用465也行的

我过测试,结论邮件服务商都不支持465通信。465足以提供给用户使用,服务端通信不能用

请问一些那云服务厂商封禁25端口不是发不了邮件了嘛 目前我的阿里云就不给我开放25端口

如果25端口的出站和入站都封了,那就没法收没法发了

我看https://help.aliyun.com/zh/cloud-web-hosting/use-cases/encrypted-using-ssl-port-465-to-send-email?spm=a311a.7996332.0.0.205f3080WAcAbs 这个文档是可以实现的

@Jinnrry
Copy link
Owner

Jinnrry commented Dec 21, 2023

好吧因为一般云服务厂商都会封禁25端口,实际部署的时候还需要申请解封,我还以为服务端通信简单用465也行的

我过测试,结论邮件服务商都不支持465通信。465足以提供给用户使用,服务端通信不能用

请问一些那云服务厂商封禁25端口不是发不了邮件了嘛 目前我的阿里云就不给我开放25端口

如果25端口的出站和入站都封了,那就没法收没法发了

我看https://help.aliyun.com/zh/cloud-web-hosting/use-cases/encrypted-using-ssl-port-465-to-send-email?spm=a311a.7996332.0.0.205f3080WAcAbs 这个文档是可以实现的

这说的是客户端,不是服务端

@maqiangThunder
Copy link

那能改回去吗? 目前阿里云都不支持25. 腾讯云也是一样, 那这样就没意义了

@maqiangThunder
Copy link

改成可选的配置不是更好

@Jinnrry
Copy link
Owner

Jinnrry commented Dec 30, 2023

改成可选的配置不是更好

改成可配置也没用呀,服务端通信本来就是用的25端口,你用465也收不到,发不出去呀。465是给客户端用的

@Jinnrry Jinnrry closed this as completed Jan 17, 2024
@y377
Copy link

y377 commented May 27, 2024

改成可选的配置不是更好
@Jinnrry
我说老哥,咱开源不易,但是不是有点固执了,另外用家庭宽带(云服务器都省了)是同时支持25,110,465,995,还有一个993你可知?而且谁告诉你还用必须用25通信的?25,110都是不安全的,明文收发邮件,现在家宽465,995,经我测试发出去阿里QQ都没问题,就是无法收,拜托你编译一个465和995的出来,我给你测试一下,还能写个教程


谢谢老哥,另外前端我也可以无偿帮忙

@hehua04
Copy link

hehua04 commented Jun 10, 2024

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants