Lassu levélküldés
Sziasztok!
Egy hírlevél küldő progival van gondom.
swift -et használok a kiküldésre. SMTP-n keresztük.
Sajnos percenként kb 10 levelet tud kiküldeni. Ez igen kevés :(
Valakinek van 5lete mi lehet a gond?
A Kiir funkció fájlba írja az eredményt.
Előre is köszönöm a segítséget!
■ Egy hírlevél küldő progival van gondom.
swift -et használok a kiküldésre. SMTP-n keresztük.
Sajnos percenként kb 10 levelet tud kiküldeni. Ez igen kevés :(
Valakinek van 5lete mi lehet a gond?
while(list($db, $Data) = each($Hirlevelek)) {
$smtpdb++;
if($smtpdb >= 20) {
$smtpdb = 1;
$AktualSMTP++;
}
if (($AktualSMTP+1) >= $OsszSMTP)
$AktualSMTP=0;
$DBa++;
$KID = $Data['hirlevel_kuldes_id'];
$UID = $Data['ugyfel_id'];
$SMTPhost = $SMTPData[$AktualSMTP]['host'];
$SMTPuser = $SMTPData[$AktualSMTP]['felhasznalonev'];
$SMTPpass = $SMTPData[$AktualSMTP]['jelszo'];
if($TartalekHost != $SMTPhost) {
$SMTPOnline = 0;
}
$TartalekHost = $SMTPhost;
if($SMTPOnline != 1) {
$SMTPOnline = 1;
$smtp =& new Swift_Connection_SMTP($SMTPhost);
$smtp->setUsername($SMTPuser);
$smtp->setPassword($SMTPpass);
$swift =& new Swift($smtp);
}
$Targy = $Data['targy'];
$Cimzett = $Data['ugyfel_emailcim'];
$Body = $Data['body'];
$Hiba = $Data['hiba'];
if($Hiba > 4) {
$KiirniSz = 'HIBA! 5 alkalommal sem sikerült kiküldeni neki: '.$UID.' (KID:'.$KID.', HID:'.$Data['hirlevelek_id'].')';
Kiir($KiirniSz);
ModifySQL('hirlevel_kuldes', 'kikuldve="1"', 'hirlevel_kuldes_id = "'.$KID.'"');
} else {
if(mail_ellenor($Cimzett)) {
$message =& new Swift_Message(iconv("UTF-8", "ISO-8859-2", $Targy), '', "text/html", "8bit", "iso-8859-2");
$message->headers->setCharset("iso-8859-2");
$message->headers->setLanguage("HU");
$message->setCharset("iso-8859-2");
$body =& new Swift_Message_Part(iconv("UTF-8", "ISO-8859-2", $Body), "text/html", "8bit", "iso-8859-2");
$body->headers->setCharset("iso-8859-2");
$body->headers->setLanguage("HU");
$body->setCharset("iso-8859-2");
$message->attach($body);
$recipients = & new Swift_RecipientList();
$recipients->addTo($Cimzett);
if ($swift->send($message, $recipients, new Swift_Address($FeladoEmail, iconv("UTF-8", "ISO-8859-2", $FeladoNev) ))) {
ModifySQL('hirlevel_kuldes', 'kikuldve_datum = "'.date("Y-m-d").'", kikuldve="1"', 'hirlevel_kuldes_id = "'.$KID.'"');
$KiirniSz = $DBa.' OK ('.$UID.')';
Kiir($KiirniSz);
$RendOK++;
} else {
$RendHiba++;
$KiirniSz = 'HIBA! Nem sikerült elküldeni: '.$UID.' (KID:'.$KID.', HID:'.$Data['hirlevelek_id'].', HOST:'.$SMTPhost.')';
Kiir($KiirniSz);
$Hiba++;
($Hiba > 4)
? ModifySQL('hirlevel_kuldes', 'hiba="'.$Hiba.'", kikuldve="1"', 'hirlevel_kuldes_id = "'.$KID.'"')
: ModifySQL('hirlevel_kuldes', 'hiba="'.$Hiba.'"', 'hirlevel_kuldes_id = "'.$KID.'"');
}
} else {
$KiirniSz = 'HIBA! Nem e-mail cím: '.$UID.' (KID:'.$KID.', HID:'.$Data['hirlevelek_id'].')';
Kiir($KiirniSz);
ModifySQL('hirlevel_kuldes', 'kikuldve="1", hiba="1"', 'hirlevel_kuldes_id = "'.$KID.'"');
}
}
if($DBa >= $KikuldesDB) {
Kiir('Küldés befejezve. Kiküldve: '.$DBa.' OK: '.$RendOK.' Hiba: '.$RendHiba);
exit;
}
}
$smtpdb++;
if($smtpdb >= 20) {
$smtpdb = 1;
$AktualSMTP++;
}
if (($AktualSMTP+1) >= $OsszSMTP)
$AktualSMTP=0;
$DBa++;
$KID = $Data['hirlevel_kuldes_id'];
$UID = $Data['ugyfel_id'];
$SMTPhost = $SMTPData[$AktualSMTP]['host'];
$SMTPuser = $SMTPData[$AktualSMTP]['felhasznalonev'];
$SMTPpass = $SMTPData[$AktualSMTP]['jelszo'];
if($TartalekHost != $SMTPhost) {
$SMTPOnline = 0;
}
$TartalekHost = $SMTPhost;
if($SMTPOnline != 1) {
$SMTPOnline = 1;
$smtp =& new Swift_Connection_SMTP($SMTPhost);
$smtp->setUsername($SMTPuser);
$smtp->setPassword($SMTPpass);
$swift =& new Swift($smtp);
}
$Targy = $Data['targy'];
$Cimzett = $Data['ugyfel_emailcim'];
$Body = $Data['body'];
$Hiba = $Data['hiba'];
if($Hiba > 4) {
$KiirniSz = 'HIBA! 5 alkalommal sem sikerült kiküldeni neki: '.$UID.' (KID:'.$KID.', HID:'.$Data['hirlevelek_id'].')';
Kiir($KiirniSz);
ModifySQL('hirlevel_kuldes', 'kikuldve="1"', 'hirlevel_kuldes_id = "'.$KID.'"');
} else {
if(mail_ellenor($Cimzett)) {
$message =& new Swift_Message(iconv("UTF-8", "ISO-8859-2", $Targy), '', "text/html", "8bit", "iso-8859-2");
$message->headers->setCharset("iso-8859-2");
$message->headers->setLanguage("HU");
$message->setCharset("iso-8859-2");
$body =& new Swift_Message_Part(iconv("UTF-8", "ISO-8859-2", $Body), "text/html", "8bit", "iso-8859-2");
$body->headers->setCharset("iso-8859-2");
$body->headers->setLanguage("HU");
$body->setCharset("iso-8859-2");
$message->attach($body);
$recipients = & new Swift_RecipientList();
$recipients->addTo($Cimzett);
if ($swift->send($message, $recipients, new Swift_Address($FeladoEmail, iconv("UTF-8", "ISO-8859-2", $FeladoNev) ))) {
ModifySQL('hirlevel_kuldes', 'kikuldve_datum = "'.date("Y-m-d").'", kikuldve="1"', 'hirlevel_kuldes_id = "'.$KID.'"');
$KiirniSz = $DBa.' OK ('.$UID.')';
Kiir($KiirniSz);
$RendOK++;
} else {
$RendHiba++;
$KiirniSz = 'HIBA! Nem sikerült elküldeni: '.$UID.' (KID:'.$KID.', HID:'.$Data['hirlevelek_id'].', HOST:'.$SMTPhost.')';
Kiir($KiirniSz);
$Hiba++;
($Hiba > 4)
? ModifySQL('hirlevel_kuldes', 'hiba="'.$Hiba.'", kikuldve="1"', 'hirlevel_kuldes_id = "'.$KID.'"')
: ModifySQL('hirlevel_kuldes', 'hiba="'.$Hiba.'"', 'hirlevel_kuldes_id = "'.$KID.'"');
}
} else {
$KiirniSz = 'HIBA! Nem e-mail cím: '.$UID.' (KID:'.$KID.', HID:'.$Data['hirlevelek_id'].')';
Kiir($KiirniSz);
ModifySQL('hirlevel_kuldes', 'kikuldve="1", hiba="1"', 'hirlevel_kuldes_id = "'.$KID.'"');
}
}
if($DBa >= $KikuldesDB) {
Kiir('Küldés befejezve. Kiküldve: '.$DBa.' OK: '.$RendOK.' Hiba: '.$RendHiba);
exit;
}
}
A Kiir funkció fájlba írja az eredményt.
Előre is köszönöm a segítséget!
Szolgáltató
Tcpdump
Egyik sem :(
Ö említette, hogy lehetséges, hogy az smtp szerver elfogadó válaszára vár a swish, és ezért lehet lassú. és hogy talán ez beállítás, de nem találtam róla semmit.
Hírlevél
Ha hírlevelet akarsz kiküldeni, az megérne külön misét, hogyan lehet azt jól megcsinálni. Például olyan címről semmiképp ne küldj hírlevelet, ami nem létezik és a visszajövő bounceok címeit meg vedd le a listádról. És akkor még jönnek a kevésbé triviális dolgok, mint pl DKIM és a haverjai.
Említettem
De ezek szerint nem találkozott még senki hasonlóval... :(