1

Twitter 和 Facebook 邀请新用户向其 Gmail、Hotmail 或 Yahoo Mail 帐户中的每个人发送邀请。

将此功能添加到网站是否容易?

谢谢,

约翰

4

3 回答 3

2

最后我检查了你基本上必须假装是一个网络浏览器,然后以编程方式登录到该站点,抓取联系人,然后撰写/发送消息。这并不难,但很费时间,因为这些服务中的每一个都以不同的方式工作。

但是,我确实看起来有人为此编写了脚本:example

于 2009-09-03T07:18:32.090 回答
0

以上所有答案都是正确的,这里是一个总结和一些更多的解释:

  • 您首先需要为您想要从中获取联系人的每个服务获取用户的登录名(我个人不明白为什么人们会这样做 - 我永远不会将我的 GMail 密码提供给 Facebook,更不用说一些鲜为人知的网站)。
  • 然后您可以模拟登录到所述网站并获取他们的联系人列表作为导出(所有严肃的电子邮件服务都允许您将联系人列表导出为 CSV 或其他内容)。您可以自己实现它或使用一些外部库,例如 Haim 提到的contactgrabber。
  • 然后,您查看他们的联系人列表,并为每个联系人生成一个密钥(您希望为您发送的每封电子邮件生成一个唯一密钥,以便知道谁回复了您)。生成密钥很容易 - 获取一些信息,例如当前用户的电子邮件和目标电子邮件地址,添加当前时间并将所有内容传递给像 SHA1 这样的散列函数 - 应该可以解决问题。
  • 现在为您获得的每个联系人存储在一个数据库表中:邀请用户的 ID、被邀请的电子邮件地址和您生成的密钥。
  • 最后向每个联系人发送一封漂亮的电子邮件,其中包含指向您网站的“邀请激活页面”的 URL,并应用了正确的密钥 - 如下所示:http ://www.somesite.com/invited?key=123456780abcdefgh

当访问该页面时,从 URL 获取密钥并在表中找到它 - 这将为您提供激活邀请的电子邮件地址和邀请他们的用户。从这里你可以把它带到你想去的任何地方。

于 2009-09-03T07:42:25.887 回答
0

是的!他们通常做的是在电子邮件中发送一个包含代码的特殊 URL,例如:

www.mysite.com?UserCode=ABC

该代码 (ABC) 与用户的电子邮件相关联,因此应用程序无法识别哪个用户正在尝试订阅。您必须在数据库中保存这对:电子邮件、代码。

高温高压

于 2009-09-03T07:21:22.363 回答