Zoho Mail是一个国外邮件服务商,提供免费和收费邮箱业务,近期还推出了“MAIL LITE”套餐,最低只要1$/月,支持无限邮箱别名(仅限收费套餐),个人站长使用是非常不错的选择。不过Zoho Mail的邮件服务器在美国,在国内延迟达到300ms,着实有点偏慢。
在之前文章《使用Nginx进行TCP/UDP端口转发》曾分享过使用Nginx来进行端口转发,改善直连网络连接不佳的情况,这里我们就用Nginx端口转发来加速Zoho Mail收发。
端口转发适用场景
直连某个服务速度不佳,或丢包严重,需要使用一台额外的服务器来进行中转改善,xiaoz画了一个简单的流程图,如下。(下图使用ProcessOn绘制)
准备工作
- 准备一台到客户端和Zoho邮件服务端延迟都相对稳定的服务器,这里xiaoz使用的是[搬瓦工GIA CN2 VPS]
- 安装Nginx,并且已经启用
stream
模块,参考:[使用Nginx进行TCP/UDP端口转发]
添加配置文件
在nginx.conf
内添加如下配置:
stream {
#瓦工VPS的465端口转发至smtp.zoho.com
server {
listen 465;
proxy_connect_timeout 5s;
proxy_timeout 20s;
proxy_pass smtp.zoho.com:465;
}
#瓦工VPS的993端口转发至imap.zoho.com
server {
listen 993;
proxy_connect_timeout 5s;
proxy_timeout 20s;
proxy_pass imap.zoho.com:993;
}
}
修改完成后使用nginx -t
测试下配置是否正确,确保没问题再重载nginx使其生效(nginx -s reload
),同时还需要注意防火墙放行465/993端口。
- smtp.zoho.com: 是Zoho Mail的SMTP地址
- imap.zoho.com: 是Zoho Mail的IMAP地址
最后您在配置邮件客户端的时候填写瓦工的IP地址即可,就不用再填写Zoho Mail的连接地址,从而起到中转的作用。
总结
端口转发的用途比较广泛,可应用于网络不佳或流量过滤等情况。上述方法也适用于转发其它邮件服务或者加速其它业务,最终原理都一样,无非就是用额外的服务器来进行流量中转。
此外Nginx还提供了专门的mail模块来实现邮件代理,不过xiaoz未研究过实现原理,具体哪个效果更好还请大神解答。