PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pear Mail_Queue und massenmails Problem



hellfiresm
14.03.08, 11:00
Hallo zusammen!

Wir haben seit geraumer Zeit Probleme mit dem Versenden von Newslettern.
Teilweise bekommen Leute die selbe Mail bis zu 20 mal direkt hintereinander.
Ich benutzte hierfür Pear Mail_Queue.
Zum testen habe ich das Script, welche die Mails entgültig Verschickt, temporär ausgeschaltet um zu überprüfen das ich nicht der Schuldige bin der 20 mal die selbe Mail an den selben Empfänger versendet.

Hierbei habe ich folgendes ausgeführt :
"Select recipients,count(recipients) from mail_queue group by recipients"
Die Ergebnisse waren pro empänger (bis auf eine Mail die ich extra hinzugefügt hatte) immer 1. Also geh ich davon aus das ich die Mails korrekt vorbereitet habe.

Zum Senden der EMails wird alle 5 Minuten folgendes Script als Cronjob ausgeführt

<?php

require_once ('Mail/Queue.php');

require_once ('Mail/mime.php');
require_once ('Mail.php');
// Datenbankpaket, das genutzt werden soll: db, mdb oder mdb2
$db_options['type'] = 'db';
// DSN zur Datenbankverbindung
$db_options['dsn'] = 'mysql://user:pw@localhost/datenbank';
// Name der Tabelle, die genutzt werden soll
$db_options['mail_table'] = 'mail_queue';

$mail_options['driver'] = 'smtp';
$mail_options['host'] = 'mail.adresse.de';
$mail_options['port'] = 25;
$mail_options['auth'] = true;
$mail_options['username'] = 'support@adresse.de';
$mail_options['password'] = 'passwort';
// Anzahl der Mails, die maximal pro Aufruf verschickt werden
$max_mails = 500;

// Neues Mail_Queue-Objekt ableiten
$mail_queue = new Mail_Queue($db_options, $mail_options);

// E-Mails versenden
$res=$mail_queue->sendMailsInQueue($max_mails);
if (true===PEAR::isError($res))
{
die ($res->getMessage());
}
?>


Ausschnitt der Einträge der mail.err

Mar 12 14:56:04 delta629 qmail-queue-handlers[10064]: Handlers Filter before-queue for qmail started ...
Mar 12 14:56:04 delta629 qmail-queue-handlers[10072]: Handlers Filter before-queue for qmail started ...
Mar 12 14:56:04 delta629 qmail-queue-handlers[10064]: from=news@wir.de
Mar 12 14:56:04 delta629 qmail-queue-handlers[10064]: to=eineperson@gmx.de
Mar 12 14:56:04 delta629 qmail-queue-handlers[10064]: hook_dir = '/var/qmail//handlers/before-queue'
Mar 12 14:56:04 delta629 qmail-queue-handlers[10058]: starter: submitter[10068] exited normally
Mar 12 14:56:04 delta629 qmail-queue-handlers[10064]: recipient[3] = 'eineperson@gmx.de'
Mar 12 14:56:04 delta629 qmail-queue-handlers[10073]: Handlers Filter before-queue for qmail started ...
Mar 12 14:56:05 delta629 qmail-queue-handlers[10072]: from=news@wir.de
Mar 12 14:56:05 delta629 qmail-queue-handlers[10064]: handlers dir = '/var/qmail//handlers/before-queue/recipient/eineperson@gmx.de'
Mar 12 14:56:05 delta629 qmail-queue-handlers[10072]: to=eineperson@gmx.de
Mar 12 14:56:05 delta629 qmail-queue-handlers[10073]: from=news@wir.de
Mar 12 14:56:05 delta629 qmail-queue-handlers[10072]: hook_dir = '/var/qmail//handlers/before-queue'
Mar 12 14:56:05 delta629 qmail-queue-handlers[10064]: starter: submitter[10076] exited normally
Mar 12 14:56:05 delta629 qmail-queue-handlers[10073]: to=eineperson@gmx.de
Mar 12 14:56:05 delta629 qmail-queue-handlers[10072]: recipient[3] = 'eineperson@gmx.de'
Mar 12 14:56:05 delta629 qmail-queue-handlers[10073]: hook_dir = '/var/qmail//handlers/before-queue'
Mar 12 14:56:05 delta629 qmail-queue-handlers[10072]: handlers dir = '/var/qmail//handlers/before-queue/recipient/eineperson@gmx.de'
Mar 12 14:56:05 delta629 qmail-queue-handlers[10073]: recipient[3] = 'eineperson@gmx.de'
Mar 12 14:56:05 delta629 qmail-queue-handlers[10073]: handlers dir = '/var/qmail//handlers/before-queue/recipient/eineperson@gmx.de'

Wenig später taucht "eineperson" wieder auf. Es ist echt zum Wahnsinnig werden. Wir haben natürlich eine menge Beschwerden bekommen, aber ich finde den Fehler einfach nicht.

Ich hoffe ihr könnt mir helfen!