Newsletter: 150.000 Empfänger

PowerCheat

Erfahrenes Mitglied
Hallo liebe Tutoialaner!

Ich habe eine Webshop, der nun nach knapp 2 Jahren das erste mal seinen Newsletter verschicken will.

Da ich aber keinen geeigneteten Newsletter Script habe, müsste ich mir selber einen Schreiben.

Wie kann ich es machen, das ich alle Kunden Personalisiert anschreibe, aber dabei meinen Server mit PHP nich zu einen Load von bis zu 6.93 wie in einem "Test" hoch schießen zu lassen?

Mir ist wichtig, das der betrieb nicht groß gestört wird.

Bitte um eure Hilfe.
 
Spontan sehe ich da zwei Möglichkeiten:

a) Du verbindest dich mit einem externen SMTP Konto und verschickst die E-Mails darüber.
b) Du benutzt eine Mail Queue Klasse (z. B. Mail_Queue). Dort werden sie eben Stück für Stück verschickt ohne den Server übermäßig zu belasten.
Mail_Queue benötigt die Klasse PEAR_Mail.
 
Damit kann ich mich aber nicht an meinen Server anmelden...

Denn das Konto sollte ja schon benutzbar sein.
 
Also ich bin jetzt dabei das so zuz machen:

PHP:
$connect = fsockopen ("localhost", 25, $errno, $errstr, 30);
	if (!$connect) return false;
	echo "1.".fgets($connect, 1024);
	echo "1.".fgets($connect, 1024);
	fputs($connect, "HELO $smtp\r\n");
	echo "2.".fgets($connect, 1024);
	echo "2.".fgets($connect, 1024);
	echo "2.".fgets($connect, 1024);
	fputs($connect, "RSET\r\n");
	echo "3.".fgets($connect, 1024);
	echo "3.".fgets($connect, 1024);
	fputs($connect, "AUTH LOGIN\r\n");
	echo "4.".fgets($connect, 1024);
	echo "4.".fgets($connect, 1024);
	echo base64_encode("test01@test01.de")."\r\n";
	fputs($connect, base64_encode("test01@test01.de")."\r\n");
	echo "4.".fgets($connect, 1024);
	echo "4.".fgets($connect, 1024);
	echo base64_encode("1qwert")."\r\n";
	fputs($connect, base64_encode("1qwert")."\r\n");
	
	echo "4.".fgets($connect, 1024);
	
	echo "4.".fgets($connect, 1024);
	fputs($connect, "MAIL FROM:$fromemail\r\n");
	echo "5.".fgets($connect, 1024);
	fputs($connect, "RCPT TO:$toemail\r\n");
	echo "6.".fgets($connect, 1024);
	fputs($connect, "DATA\r\n");
	echo "7.".fgets($connect, 1024);
	$boundary = time()."Some text";
	fputs($connect, "Subject: $subject\r\n");
	fputs($connect, "From: $fromname <$fromemail>\r\n");
	fputs($connect, "To: $toemail\r\n");
	fputs($connect, "X-Sender: <$fromemail>\r\n");
	fputs($connect, "Return-Path: <$fromemail>\r\n");
	fputs($connect, "Errors-To: <$fromemail>\r\n");
	fputs($connect, "Message-Id: <".md5(uniqid(rand())).".".preg_replace("/[^a-z0-9]/i", "", $fromname)."@$smtp>\r\n");
	fputs($connect, "MIME-Version: 1.0\r\n");
	fputs($connect, "X-Mailer: PHP - $fromMailer\r\n");
	fputs($connect, "X-Priority: 3\r\n");
	fputs($connect, "Date: ".date("r")."\r\n");
	fputs($connect, "Content-Type: multipart/alternative; boundary=\"$boundary\"\r\n\r\n");
	fputs($connect, "--$boundary\r\n\r\n");
	fputs($connect, "Content-Type: text/plain; charset=US-ASCII\r\n");
	fputs($connect, "Content-Transfer-Encoding: quoted-printable\r\n");
	fputs($connect, "\r\n\r\n");
	fputs($connect, $plain."\r\n\r\n");
	fputs($connect, "--$boundary\r\n\r\n");
	fputs($connect, "Content-Type: text/Richtext; charset=$charset\r\n");
	fputs($connect, "Content-Transfer-Encoding: quoted-printable\r\n");
	fputs($connect, "\r\n\r\n");
	fputs($connect, $body."\r\n\r\n");
	fputs($connect, "--$boundary\r\n");
	fputs($connect, "Content-Type: text/html; charset=\"$charset\"\r\n");
	fputs($connect, "Content-Transfer-Encoding: 8bit\r\n");
	fputs($connect, "\r\n\r\n");
	fputs($connect, $body."\r\n\r\n");
	fputs($connect, "--$boundary--\r\n");
	fputs($connect, "\r\n");
	fputs($connect, "\r\n.\r\n");
	echo "8.".fgets($connect, 1024);
	fputs ($connect, "QUIT\r\n");
	echo "9.".fgets ($connect, 1024);
	fclose($connect);

nur leider nimmt der Server nicht die Login daten an...

Code:
220 keinedomain.de ESMTP CeMore Managed
ehlo test01.de
250-keinedomain.de
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH CRAM-MD5 NTLM DIGEST-MD5
250-AUTH=CRAM-MD5 NTLM DIGEST-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN


so dabei habe ich auch schon verscuht, kenne mich aber beim besten willen damit nicht aus, zumindest nicht soweit das ich es ohne hilfe hin bekomme. Vllt. bin ich auch schon Code blind.
 
Es gibt auch eine Klasse, die du ohne Pear benutzen kannst.
Die benutze ich beispielsweise für den Mailversand.

30.000 - 40.000 waren kein Problem. Ob er 150.000 ohne größere Probleme schafft, musst du ausprobieren.

Hier der Link - dort steht alles weitere.

http://www.tanmar.info/content/view/36/64/

SMTP-Versand über e-Mailkonto ist ohne weiteres möglich.

Viele Grüsse,

maeg
 

Neue Beiträge

Zurück