php - 使用 php 群发邮件
问题描述
我有一个包含2000多个联系人的数据库,我想使用群发邮件,但我不知道该怎么做,我使用了这段代码但我认为它没有用,因为邮件数量很重要,mail()
不能为群发邮件工作。
<?php
require ("bdd.php");
$sql = "SELECT adresse FROM newsletter WHERE envoie='1';";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$en_tete ='From: '. $row['adresse'] .''."\n";
$en_tete .='Reply-To: adresse@fai.fr'."\n";
$en_tete .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$en_tete .='Content-Transfer-Encoding: 8bit';
$contenu ='<html><head><title>Envoie html</title></head><body><p>TEST !</p></body></html>';
mail($row['adresse'], 'Envoie mail', $contenu, $en_tete)
}
mysql_close();
?>
解决方案
您可以使用PHPMAILER
我不知道以下解决方案是否对您有用..但我只是建议另一种想法来发送大量电子邮件,而不会出现垃圾邮件或托管服务提供商每小时电子邮件限制等问题......
========
此外,您可以在发送电子邮件时将查询与限制和更新数据库列一起使用...
例如
'email_sent'
在您的数据库表中添加其他列...
并将查询更改为
$sql = "SELECT adresse FROM newsletter WHERE envoie='1' and email_sent='0' order by id desc limit 25";
// Limit can be any...10 or 25 or 50 etc... this will limit total emails at a time...
//in while clause, add query to Update database >> `email_sent`=>1...
使用 cronjob,您可以email_sent
再次0
重置......email_sent
0
请避免使用 mysql ......尝试使用 mysqli 或 PDO 而不是 ..
推荐阅读
- javascript - 如何删除字符串数组的一部分?
- javascript - Three.js 中立方体的奇怪旋转行为
- python - 如何在 numpy mgrid 输入(numpy)上使用变量
- angular - Angular 模板驱动的表单验证:我应该发布 ngModel 还是 form.value?
- java - 添加了 CSV 导出小数点
- javascript - 如何使用javascript从firebase获取特定孩子的所有值?
- c# - 在 EF 6 中模拟 DBContext 无法按预期工作
- java - Fragment 为 onCreateView 时从 Activity 向 Fragment 发送数据
- jquery - 如何知道 Web 应用程序使用哪些框架或库
- java - Git winmerge 弹出“选择文件和文件夹”出现