如何为Python电子邮件客户端设置代理

-1 投票
1 回答
738 浏览
提问于 2025-04-17 16:21

最近我在学习与电子邮件相关的内容,并写了一个简单的邮件客户端来发送邮件。可是很不幸,由于网络不好,我无法连接到smtp.gmail.com。不过在浏览器里用代理就没问题,在公司运行脚本也没问题。

那么,有没有办法为smtp协议设置代理呢?我在Python2.7的smtplib模块里没有看到可以用的东西。而且我觉得设置http代理也没用,因为它们是两种不同的协议。我也在谷歌和StackOverflow上搜索过,但找不到合理的解决办法。

所以,似乎有一个socket代理。这有用吗?

希望有人能告诉我一些信息。

1 个回答

1

安装一个本地邮件服务器,它可以自己管理邮件队列,比如说Postfix。你自己的本地邮件服务器实际上是一个缓存的SMTP代理,正好符合你的需求。你的本地应用会把邮件发送给Postfix,Postfix会确保邮件最终送到真正的收件人那里。还有很多其他的邮件服务器也能很好地完成这个工作。

设置Postfix的具体步骤不在这里讨论(或者说在ServerFault上可能会被转移),不过有很多 教程 可以参考 一下(具体步骤还得看你用的是什么机器)。设置Postfix使用Gmail作为智能主机也会对你有帮助,因为这涉及到一些小麻烦,比如证书的问题。

撰写回答