是否容易使电子邮件地址簿受邀?

时间:2009-09-03 07:15:58

标签: php email invite

Twitter和Facebook邀请新用户向其Gmail,Hotmail或Yahoo Mail帐户中的所有人发送邀请。

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

谢谢,

约翰

3 个答案:

答案 0 :(得分:2)

最后我检查了你基本上必须伪装成一个网络浏览器,然后以编程方式登录该网站,刮取联系人,然后撰写/发送消息。这并不困难,但由于每种服务的工作方式不同,因此耗费时间。

然而,我确实看起来人们为其中的一部分写了一些脚本:example

答案 1 :(得分:0)

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

www.mysite.com?UserCode=ABC

该代码(ABC)与用户的电子邮件相关联,因此应用程序不支持哪个用户尝试订阅。您必须在数据库中保留对:电子邮件,代码。

HTH

答案 2 :(得分:0)

以上所有答案都是正确的,以下是摘要和更多解释:

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

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