【问题标题】:How to Dynamically generate emails like doing in Craiglist?如何像在 Craigslist 中一样动态生成电子邮件?
【发布时间】:2014-10-23 12:34:24
【问题描述】:

当您在 Craigslist.org 中回复个人广告部分的帖子时,他们会显示一个生成的电子邮件地址,我们可以使用该地址向广告所有者发送电子邮件。

k86wt-47XXXXXXXXX@pers.craigslist.org

他们这样做是为了保护广告所有者免受垃圾邮件的侵害。因此,当所有者从 Craigslist 收到该电子邮件时,他们也可以回复该电子邮件地址。但他们再次通过Craigslist。所以 Craigslist 充当了连接这两方的中间人。即使广告已过期,他们也可以使用 Craigslist 生成的电子邮件相互交流 6 个月(我认为)。

所以这篇文章不是 Craigslist 的营销文章。 :)

我只想知道怎么做? 我与著名的电子邮件客户聊天,但他们没有提供这种动态生成的电子邮件。这不能通过域所有者附带的电子邮件客户端来实现,因为他们只为每个域提供 1 封或几封无法自动生成的电子邮件。

我正在开发一个 ASP.NET Web 应用程序,我想实现上述机制。 如果你说我应该得到一个专用的电子邮件服务器。好的。告诉我去哪里?然后呢?请解释一下。请给我一些链接。不要忘记我想每天发送无限制的电子邮件。

【问题讨论】:

  • 一些主机确实为每个域提供无限的电子邮件。我想 craiglist 只是在后端使用它和一些自动化脚本来创建新的电子邮件 ID。
  • ASP.NET 或其他,这只是一个后台任务(参见 Hangfire.io),当您为您的域手动创建电子邮件 ID 时,它会执行 CPanel 所做的事情。我不完全确定为什么大多数电子邮件/主机提供商说你不能这样做..
  • @sylar 你找到解决方案了吗?

标签: c# asp.net email


【解决方案1】:

我不知道 craigslist 具体是如何做到的,但我只需要一个包含 2 列的 DB 表,1 是在您的域中随机生成的电子邮件地址,您可以根据自己的喜好生成唯一的电子邮件地址,第二个是真实的它映射到的用户电子邮件地址。

然后在我的域上设置一个邮件服务器,将所有邮件接收到一个收件箱中。然后 id 遍历收到的所有邮件,如果“收件人”地址在我生成的电子邮件列表中,则将其转发给预期的收件人。

不过,您需要找到一个可以让您设置和运行自己的邮件服务器的主机。您不会看到消费者主机,或几乎任何提供“每个域 1 或 2 个电子邮件地址”之类的主机。你需要一个合适的主人。对于这样的事情,Azure 云或 EC2 可能是我脑海中的不错选择,但我在这方面没有太多经验。

【讨论】:

  • 非常感谢 Marley 的回复。所以如果我实现这个当我收到一封电子邮件时,我应该遍历每个用户以获得匹配的电子邮件吗?如果我有数百万用户,这不会导致性能问题吗?
  • 如果您使用的是真实数据库,则不会。一个简单的 2 列表,特别是如果您正在索引搜索列,将能够轻松返回一行。如果您有数千万或数亿用户,那么您可能想要考虑按区域或类似的方式拆分数据库,但老实说,任何在现代硬件上运行的现代数据库都应该能够处理数百个搜索数百万行以找到 1 个唯一值。
【解决方案2】:

Gmail 有一个类似的机制,我可以使用“myname+any_alias_here@gmail.com”为自己创建无限的电子邮件别名。加号不是标准的,但它适用于许多客户端和表单(除非网站只是不让它通过验证)。由于 Craig's List 有“-”号,这让我想起了 Gmail 功能。

至于您的设置,您可以在带有 Linux 的快速 Amazon EC2 实例上设置一个后缀电子邮件服务器,该服务器具有管理别名文件的流程。 http://www.postfix.org/STANDARD_CONFIGURATION_README.html

【讨论】:

    猜你喜欢
    • 2011-08-30
    • 2014-02-07
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2011-08-22
    相关资源
    最近更新 更多