Jinnrry/PMail

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

Closed this issue · 33 comments

版本:2.3.1(截止最新)

问题类型:疑问解答

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

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

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

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

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

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

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

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

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

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

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

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

可以

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

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

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

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

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

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

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

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

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

为什么最新代码里面发送邮件默认都写死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端口发送的
想知道这样改动的原因

为什么最新代码里面发送邮件默认都写死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

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

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

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

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

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

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

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

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

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

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

好吧因为一般云服务厂商都会封禁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 这个文档是可以实现的

好吧因为一般云服务厂商都会封禁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 这个文档是可以实现的

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

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

改成可选的配置不是更好

改成可选的配置不是更好

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

y377 commented

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


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

+1