主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
文章目录
前几天,我们突然发现我们社区大量注册用户没有完成邮箱验证。 我的盲目猜测是mxroute可能还有另一个问题。
之前介绍过这家邮局,但问题是发信的SMTP地址不稳定,有的IP地址发信被屏蔽!
事实上,对于大多数国际发送地址来说,国内访问可能并不顺利。
这次我们重点介绍如何使用stunnel转发海外邮局邮箱的发件人地址!
这篇文章是在经历了很多错误之后写成的,纯属信息。 感谢我的朋友VV的指导!
正向代理?
正向和反向代理,看下图我就明白了。
转发代理是位于客户端(例如用户的计算机)和目标服务器之间的代理服务器。 客户端通过转发代理向目标服务器发送请求,代理服务器代表客户端获取资源并向客户端返回响应。
反向代理是放置在目标服务器和客户端之间的代理服务器。 客户端向目标服务器发送请求,但实际的请求是由反向代理服务器接收并处理的。 反向代理服务器可以将请求转发到内部服务器并将响应返回给客户端。
准备工作
1.服务器在海外,可以访问要代理的出站URL
2. 如果您有 IP 证书,则可以使用域名。
3. SSL证书,也可以使用自签名证书,但客户端必须信任该证书。 我们建议您找到一个免费的证书来使用。
部署流程
本文的部署流程针对ubuntu系统及其他系统。请根据您的操作系统阅读相应的命令。
安装
apt install -y stunnel
配置
使用以下内容编辑配置文件:
只需将证书替换为您自己的证书即可。
/etc/stunnel/stunnel.conf;foreground = yes;debug = debugsyslog = nooutput = /var/log/stunnel.logpid =setuid = stunnel4setgid = stunnel4; 一些性能调整 socket = l:TCP_NODELAY=1socket = r:TCP_NODELAY=1; OpenSSL options options = NO_COMPRESSIONoptions = NO_SSLv2options = NO_SSLv3options = NO_TLSv1[mxroute_in_smtp]cert = /usr/local/nginx/conf/ssl /server. crt 密钥 = /usr/local/nginx/conf/ssl/server.keyaccept = 0.0.0.0: 521 连接 = 127.0.0.1:10521 协议 = smtp[mxroute_out_smtp]client = yesverify = 0accept = 127.0.0.1:10521connect = wednesday.mxrouting.net:587protocol = smtp
启动和停止
开始:
stunnel /etc/stunnel/stunnel.conf
停止:
killall stunnel
解析
域名可以解析为服务器IP。
如果不想解析域名,也可以在客户端主机上指定一个IP进行域名解析。
测试
导入 smtplib from email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartsmtp_server = 'xxxx.com # stunnel配置监听的域名 smtp_port = 521 # stunnel Listen port sender_email = 'noreply@xxxx.cc' # 替换为发件人的电子邮件密码 = 'xxxxxx' # 替换为发件人的电子邮件密码 receive_email = 'xxxxx@163.com' # 收件人的电子邮件密码替换为电子邮件 subject = 'Test email' body = '这是通过 SSL 发送的测试电子邮件。 'msg = MIMEMultipart()msg['From'] = sender_emailmsg['To'] =Receiver_emailmsg['Subject'] = subjectmsg.attach(MIMEText(body, 'plain'))尝试:使用 smtplib.SMTP_SSL(smtp_server, smtp_port ) ) asserver:server.login(sender_email,password) #Loginserver.sendmail(sender_email,receiver_email,msg.as_string()) #发送邮件 print('邮件发送成功!')Exception e: print(f' 发送邮件失败: {e}')
运行python3 send.py来测试发送功能。
Systemctl
当然,你也可以使用Systemctl来配置服务启动。
新建服务文件
vim /etc/systemd/system/stunnel.service
粘贴以下内容
[Unit]Description=stunnelAfter=network-online.target[Service]Type = simpleExecStartPre=/usr/bin/chmod 600 /usr/local/nginx/conf/ssl/server.crt /usr/local/nginx/conf/ssl/server.keyExecStart=/usr/bin/stunnel /etc /stunnel/ stunnel .confRestartSec=3sRestart=always[Install]WantedBy=multi-user.target
更改服务文件权限
chmod 600 /etc/systemd/system/stunnel.service
## Systemctlsystemctl daemon-reload## 重新加载。 stunnel 启动 systemctl 启用的 stunnel。 service## stunnel 启动 systemctl start stunnel.service## stunnel 启动 systemctl start stunnel.service
主流邮局
在此分享 支持转发海外主流邮局(Gmail、Outlook等)的代理配置文件。
如果需要的话可以使用。 如果你理解了这个原理,自己写就不难了。
最终总结
1. stunnel所在服务器正常。一定要测试一下是否是这样。 邮寄前请前往邮局的送货地址。
2. 对于自签名证书,客户端必须信任该证书。
3. 本文要求您的孩子执行某些 shell 操作。
4.希望大家都能在股市赚钱!
评论前必须登录!
注册