我需要为我正在构建的校友网站创建一个邮件列表。以下是我理想的邮件列表运行方式。
用户
用户可以访问该网站,在字段中输入他们的电子邮件地址(可能还有姓/名),单击“订阅”按钮,然后获取验证消息(通过弹出,重定向或电子邮件消息) 。
网站管理员
已成功订阅的每个电子邮件地址(和名称)将编译为服务器上的文本文档或组电子邮件地址。然后,经理可以使用管理员密码登录以将批量电子邮件发送到订户列表(例如http://justincross.net/stuff/join2.php),或者管理员可以通过电子邮件从G-Mail帐户发送电子邮件。
有谁知道如何有效地做到这一点?我已经搜索了一些教程/模板的日子,但是我尝试过的极少数似乎要么被破坏,要么使用mySQL(我不想这样做)。
提前致谢!
答案 0 :(得分:1)
数据库方式确实是最好的方式。如果您更喜欢使用文本文件方法,我会建议这样的事情:
将数据插入文件
$email = "the email";
$firstName = "the first name";
$lastName = "the last name";
$new_line = "$email|$firstName|$lastName\n"; // | could be other character
$file = fopen("subscribers.txt", "a");
fputs($file, $new_line);
fclose($file);
阅读和解析数据
$subscribers = array();
$handle = @fopen("subscribers.txt", "r");
if ($handle) {
while (!feof($handle)) {
$line = fgets($handle, 4096);
//parsing the line
$ar = explode('|', $line);
//$ar[0] holds the email
if(key_exists(0, $ar)){
$email = $ar[0];
}else{
$email= '';
}
//$ar[1] holds the first name
if(key_exists(1, $ar)){
$firstName = $ar[1];
}else{
$firstName = '';
}
//$ar[2] holds the last name
if(key_exists(2, $ar)){
$lastName = $ar[2];
}else{
$lastName = '';
}
$temp = array(
'email' => $email,
'firstName' => $firstName,
'lastName' => $lastName
);
$subscribers[] = $temp;
//
}
fclose($handle);
}
用于循环订阅者并使用您的功能发送电子邮件
foreach($subscribers as $subscriber){
//the email
$subscriber['email'];
//the firstname
$subscriber['firstName'];
//the lastname
$subscriber['lastName'];
}