Link gekopieerd
Dank je, k heb het nu werkend!
Link gekopieerd
Ik dacht dat ik het werkend had. Als ik een mailing van 250 verstuur krijg ik een error.
Is het ook mogelijk dat het script elke keer 25 of 50 stuks mailt en dan even wacht voordat hij weer verder mailt?
Ik heb het script deels hieronder :
<?
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";
$smtp =& new Swift_Connection_SMTP("smtp1.servage.net", 25);
$smtp->setUsername("********");
$smtp->setpassword("********");
$swift =& new Swift($smtp);
$bericht = new Swift_Message("Mailing", "$htmlbody", "text/html");
//mailadressen ophalen
$mailQuery = "SELECT email FROM mailing";
$mailResult = mysql_query($mailQuery);
if(!$mailResult)
{
echo 'Het ophalen van de mailadressen is mislukt! Error:' . mysql_error();
}
else
{
$ontvangers =& new Swift_RecipientList();
$ontvangers->addTo("
[email protected] ", "Mailing");
while($row = mysql_fetch_assoc($mailResult))
{
$ontvangers->addBcc($row['email']);
}
//Het aantal dat verzonden is opvragen
$number_sent = $swift->send($bericht, $ontvangers, "
[email protected] ", "Mailing");
echo 'Het bericht is verzonden naar ' . $number_sent . ' ontvangers.';
}
?>
Ik weet dat het kan, alleen kom ik er niet uit hoe ik dat moet doen, hopelijk wil iemand mij hiermee helpen.
Niet Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.
SanThe.
Link gekopieerd
Marco schreef op 11.01.2009 15:44
Ik dacht dat ik het werkend had. Als ik een mailing van 250 verstuur krijg ik een error.Welke error? Het zou in principe gewoon moeten werken...
Link gekopieerd
Als ik naar een kleine database van 3 stuur om te testen werkt het inderdaad,maar zodra ik het naar de echte verstuur niet meer...
Dit is de melding:
Fatal error: Uncaught exception 'Swift_BadResponseException' with message 'Expected response code(s) [250] but got response [421 smtp1.servage.net Error: too many errors]' in /mounted-storage/home114a/sub008/sc22098-IKIW/www/site/admin/mailing/swift/lib/Swift.php:250 Stack trace: #0 /mounted-storage/home114a/sub008/sc22098-IKIW/www/site/admin/mailing/swift/lib/Swift.php(310): Swift->assertCorrectResponse(Object(Swift_Events_ResponseEvent), 250) #1 /mounted-storage/home114a/sub008/sc22098-IKIW/www/site/admin/mailing/swift/lib/Swift.php(319): Swift->command('RSET', 250) #2 /mounted-storage/home114a/sub008/sc22098-IKIW/www/site/admin/mailing/swift/lib/Swift.php(455): Swift->reset() #3 /mounted-storage/home114a/sub008/sc22098-IKIW/www/site/admin/mailing/swift/update-mailing.php(139): Swift->send(Object(Swift_Message), Object(Swift_RecipientList), 'noreply@derodeh...', 'De Rode Haan') #4 {main} thrown in /mounted-storage/home114a/sub008/sc22098-IKIW/www/site/admin/mailing/swift/lib/Swift.php on line 250
Link gekopieerd
421 smtp1.servage.net Error: too many errors Hmm, de smtp server geeft aan dat er teveel fouten opgetreden zijn?
Misschien eens googlen naar deze foutmelding om te zien wat daar de oorzaak van zou kunnen zijn? Wellicht email adressen die niet kloppen, alhoewel ik dat niet zou verwachten. Andere mogelijkheid die ik kan bedenken is dat de server het als spam ziet dat je 250 mailtjes achter elkaar verzendt. Maar goed, wellicht dat google een antwoord heeft...
Link gekopieerd
Kijk eens op swiftmailer.org naar batch mailen, en gebruik dan:
<?php
$batch->setSleepTime(10); //Sleep for 10 seconds if an error occurs
?>
Link gekopieerd
Ik heb dat batch mailen bekeken,maar snap niet hoe ik dat moet opzetten.
Link gekopieerd
421 betekent 'service niet toegankelijk'
Dit kan worden veroorzaakt door te veel mailtjes tegelijk.
Link gekopieerd
Dan zal ik dus toch via de batch moeten werken.
Op de site kan ik nergens voorbeelden vinden hoe dat werkt met een mysql database...
Link gekopieerd