Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发送电子邮件地址簿邀请是否容易?_Php_Email_Invite - Fatal编程技术网

Php 发送电子邮件地址簿邀请是否容易?

Php 发送电子邮件地址簿邀请是否容易?,php,email,invite,Php,Email,Invite,Twitter和Facebook邀请新用户向他们的Gmail、Hotmail或Yahoo Mail帐户中的每个人发送邀请 将此功能添加到网站是否容易 谢谢 John上次我检查时,你基本上必须假装是一个网络浏览器,然后通过编程登录到该网站,清除联系人,然后撰写/发送消息。这并不困难,但由于每种服务的工作方式都不同,这很耗时 然而,我看起来确实有人为此写了一些脚本:。是的! 他们通常会在电子邮件中发送一个包含代码的特殊URL,例如: www.mysite.com?UserCode=ABC 该代码(

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

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

谢谢


John

上次我检查时,你基本上必须假装是一个网络浏览器,然后通过编程登录到该网站,清除联系人,然后撰写/发送消息。这并不困难,但由于每种服务的工作方式都不同,这很耗时

然而,我看起来确实有人为此写了一些脚本:。

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

www.mysite.com?UserCode=ABC
该代码(ABC)与用户的电子邮件相关联,因此应用程序无法识别用户试图订阅的邮件。你必须在数据库中保存这对密码:电子邮件、密码


HTH

以上所有答案都是正确的,下面是一个总结和一些解释:

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

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

谢谢。。。我猜你说的“登录”是指“密码”?我想知道Facebook和Twitter是否需要用户的电子邮件密码来完成这个过程。我同意你。。。我甚至不会给Facebook或Twitter我的电子邮件密码。是的,确实如此。当你进入Facebook的“邀请”页面时,它会询问你的电子邮件和密码。根据电子邮件地址,他们推断出您正在使用的服务以及该服务的登录名,然后以您的名义登录以获取联系人。您还可以接受CSV或vCard格式的联系人列表,这样人们就不需要给出他们的电子邮件密码。