大量电子邮件用户的唯一密码

时间:2013-01-23 10:20:21

标签: php massmail

我有一个拥有2k +用户的数据库,我想向他们发送他们自己的密码,但是大量通过电子邮件发送给他们。群发电子邮件可以通过多种方式完成,但问题是如何做到这一点,以便每个用户获得他/她自己的唯一密码?

用户密码存储在MySQL DB中的字段内。电子邮件地址也是如此。

欣赏任何想法。

3 个答案:

答案 0 :(得分:6)

  

我想给他们发送自己的密码

NOOOOOO请不要

见例如Password policy hall of shame

  

在PLAIN TEXT中存储密码并不安全。

     

现在是时候让在线服务清理他们的行为了!

另外:plaintextoffenders.com - “你刚给我发回了我自己的密码吗?!”

通过电子邮件发送明文密码被认为是一种非常非常糟糕的做法。密码应该是哈希值;所有用户都应该能够通过电子邮件是一个重置它的链接。

要回答您的问题,您必须浏览每条记录,并向每位客户发送自定义电子邮件。这可能是资源密集型的,并且/或者如果一次有太多消息则关闭机器,因此您必须在发送每个消息之间等待。您还可以使用MailChimp等第三方服务。

答案 1 :(得分:1)

这种方法有什么问题(伪代码):

$result = sql_query ("SELECT id, email, username, password FROM users"); // get all users

$mailer = new SomeMailer();
while ($row = sql_fetch_row($result)) {
    $mailer->AddRecipient($row['email']);
    $mailer->AddBody("Hey, here is you pass LOL: " . $row['password']);
    $mail->Send();
}

这就是你如何做到这一点,我建议你认真对待Pekka的建议。以纯文本形式发送密码是一个很大的禁忌。

答案 2 :(得分:0)

好吧,我发现最灵活,最简单的方法就是在MS WORD中使用MailMerge然后发送消息。

Microsoft Word - >邮件 您必须从数据库中提取所需的数据字段并将其另存为MS Excell文件。