Python/Django的Craiglist电子邮件匿名化

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

我的目标是让用户可以互相发邮件,而不需要在我的网站上公开任何人的邮箱地址。

我最开始的想法是创建一个表单,通过我的SMTP服务器(我用的是gmail)发送邮件,伪装发件人信息,让邮件看起来像是一个用户发给另一个用户的。

这个方法看起来挺简单的,我还限制每对用户只能发一封邮件。但大问题是,Gmail对这种操作很敏感,会自动修改所有的发件人和信封设置。所以,除非我使用第三方邮件服务器,否则我无法实现这个功能。

我还听说伪装发件人信息可能会让你在垃圾邮件过滤器那里遇到麻烦。为了避免这些问题,是否值得直接隐藏收件人的邮箱地址,然后像Craigslist那样显示呢?我对如何处理和解析邮件一无所知,所以不确定学习和实现这个功能需要花多少时间。

我也看到过一些关于PHP的类似帖子,但那些链接都过时了,我想找到一个适合Python/Django的解决方案。

谢谢,
Brendan

1 个回答

1

为什么不设置一个“全收件箱”邮件地址,利用Python的imaplib呢?

如果你生成一个和用户邮箱相关的独特标识符(我们叫它“令牌”),那么当有人给@你的域名.com发邮件时,你就可以接收到这封邮件,检查一下它是否和数据库里的某个令牌有关。如果有关联,就可以把这封邮件转发到用户的真实邮箱里。

如果你还为发件人的邮箱地址创建一个令牌并保存下来,那么你就可以把发件人的地址设置成这个令牌。这样,当他们回复邮件时,这封邮件也会通过你的服务器转发,就像之前提到的那样。

撰写回答