Senden von Massen-E-Mails mit phpmailer
Ich bin neu in Phpmailer und ich benutze es zum senden einer Massen-E-Mails sind über tausend Menschen von einer noreply-Konto. Der code funktioniert problemlos, wenn ich die E-Mail senden, um eine oder zwei Personen, aber wenn ich senden Sie es an alle (einschließlich mir selbst) geht es um spam. Ein weiteres problem ist in den details der E-Mail zeigt die E-Mail-ids von den Menschen, von dem es gesendet wurde, die ich nicht wollen, es zu tun.
Der code ist wie folgt:
//date_default_timezone_set('America/Toronto');
require_once('../class.phpmailer.php');
//include("class.smtp.php"); //optional, gets called from within class.phpmailer.php if not already loaded
$mail = new PHPMailer();
$mail->IsSMTP(); //telling the class to use SMTP
$mail->Host = "smtp1.site.com;smtp2.site.com";
$mail->SMTPAuth = true;//enable SMTP authentication
$mail->SMTPKeepAlive = true;//SMTP connection will not close after each email sent
$mail->Host = "mail.yourdomain.com"; //sets the SMTP server
$mail->Port = 26; //set the SMTP port for the server
$mail->Username = "yourname@yourdomain"; //SMTP account username
$mail->Password = "yourpassword"; //SMTP account password
$mail->SetFrom('[email protected]', 'List manager');
$mail->AddReplyTo('[email protected]', 'List manager');
$mail->Subject = 'Newsletter';
$ids = mysql_query($select, $connection) or die(mysql_error());
while ($row = mysql_fetch_row($ids)) {
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML($body);
$mail->AddAddress($row[0]);
$mail->Send();//Sends the email
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als JoLoCo Punkte heraus, die
AddAddress()
Methode FÜGT nur eine neue Adresse, an die vorhandenen Empfänger-Liste. Und da tust du es als add - /sende-Schleife, Sie senden einen verdammt viel von Kopien an den ersten Empfänger, einen weniger auf den zweiten, etc...Was Sie brauchen, ist:
Auf der anderen Seite, da diese Spam-Mails Ihre E-mail-server mit einer Vielzahl von Einzel-E-Mails, eine andere Möglichkeit ist das erzeugen einer EINZIGEN E-Mail " und " BCC " alle Empfänger.
Diese option ist wahrscheinlich vorzuziehen. Sie erzeugt nur eine einzige E-Mail, und lassen Sie die E-mail-server verarbeiten die schwere Aufgabe, die Arbeit des versenden von Kopien an jeden Empfänger.
Ich denke, Sie sind das hinzufügen der neuen Anschrift an die E-Mail bereits gesendet-so dass die erste E-Mail geht an eine person, die zweite E-Mail gesendet wird, gehen Sie zu, dass dieselbe person plus ein weiterer, der Dritte wird auf diese zwei plus eins mehr, und so weiter.
Auch, ich glaube nicht, dass Sie brauchen, um die AltBody und MsgHTML jeder Zeit.
Sollten Sie alle Adressen ins BCC-Feld zuerst, dann senden.
So versuchen...
AddAddress
) dann mitAddBCC
für die Liste "Mitglieder" E-Mails. Ich habe bearbeitet mein code, um dies zu reflektieren. Danke Marc!Verwenden Sie BCC (Blind Carbon Copy) zum ausblenden der Liste der Empfänger.
Im Zusammenhang mit der spam problem, es hängt davon ab, die E-Mail-Anbieter der Empfänger, was spam ist und was nicht, und es gibt viele Faktoren, die es gibt.