Hoi,
Ik heb gehoord dat je hier betrouwbare en goede hulp krijgt, dus ik probeer mijn geluk.
Ik heb een MSN Uitnodigings script van het internet gedownload, maar het werkt niet helemaal, ik krijg de mails telkens terug en ik wilde vragen of jullie misschien een fout ergens zien...?

Hier het script:

<?php


//====================================================================//

if($user['invite'] == 1) {
echo '<b><center>Je hebt de MSN Uitnodiging deze maand al verstuurd. Je krijgt een Bericht van de Crew wanneer je deze weer kunt doen.';
}else{
set_time_limit(0);

// BEGIN MAIL INSTELLINGEN

$afzender = "Blackbeard <[email protected]>"; // AFZENDER EMAIL
$onderwerp = 'Arrr, Take a look Mate!'; // ONDERWERP EMAIL

				$mail_body = "Ahoi Piraat,\n\n"; 
				$mail_body .= "$data->login ($data->email) nodigt je uit voor SeaCrime.nl\nSeaCrime.nl is een online Piratenspel, waar je moet proberen, een gevreesde, machtige, rijke en succesvolle Piraat te worden.\nDit kun je doen door Handelsschepen te veroveren, Rum te handelen, Schepen in te kopen en sinds kort te MOORDEN.\nSeaCrime.nl bestaat nog niet zo lang en er is pasgeleden een nieuwe versie gelanceerd met tal van updates en nieuwe opties! Een kijkje waard!\n\nSeaCrime heeft zojuist een nieuw, spetterend en grappig filmpje gelanceerd, bekijk dit filmpje hier: http://seacrime.nl/promo\n\nKlik hier om je aan te melden via $data->login`s link:\nhttp://www.seacrime.nl/special.php?code=special&rec=$data->login\n\nAls je je via bovenstaande link aanmeld krijg je een GRATIS Creative Pack t.w.v. 2,60 Euro, dat is dus zeker de moeite waard!";
				$mail_body .= "\n\nAlvast bedankt en veel succes,\n";
				$mail_body .= "http://www.seacrime.nl & $data->email";
				$mail_body .= "\n\n\nAfmelden voor deze E-mails? Klik hier: http://www.seacrime.nl/quitmailing.php?email=$adres";



// EIND MAIL INSTELLINGEN



class progress_bar
{
    var $percent;
    var $width;

    function progress_bar($percent = 1, $width = 100)
    {
        $this->percent = $percent;
        $this->width = $width;
    }

    function create()
    {
        ?>
        <b>Voortgang:</b><br>
        <div style="width: <?php echo(($this->percent * .01) * $this->width); ?>px;" height="10" id="progress"> </div>
        <div id="tekst">Voorbereiden...</div>
        <?php
    }

    function set_percent_adv($cur_amount, $max_amount)
    {
        $this->percent = ($cur_amount / $max_amount) * 100;
        
        if($this->percent < 100)
        {
          $do = 'Bezig met versturen.';
        }
        else
        {
          $do = 'Alle berichten zijn verstuurd.';
        }
        
        echo('<script>e=document.getElementById("progress"); e.style.width = '.($this->percent / 100) * $this->width.' + \'px\'; f=document.getElementById("tekst"); f.innerHTML = \''.$do.'\';</script>');

    }
}

$header = "From: " . $afzender . "\n";
$ok = 0;
$fout = 0;


if(isset($_POST['submit']))
{
    $file = $_FILES['file']['tmp_name'];
    $extensie = strtolower(end(explode(".", $_FILES['file']['name'])));

    if($file == "none")
    {
        print 'Je moet wel een bestand kiezen!';
    }
    elseif(filesize($file) > (4096*2048))
    {
        print 'Je bestand mag niet groter zijn dan 2000KB (2MB)!';
    }
    elseif($extensie != "ctt")
    {
        print 'Je bestand moet de extensie .ctt hebben!';
    }
    else
    {
        $file1 = file($file);
        $adressen = array();

        foreach($file1 as $regel)
        {
            if(!(strpos($regel, "list")))
            {
                $pos = strpos($regel, "<contact");
                $pos1 = strpos($regel, "type=");
                if($pos1 > 0)
                    $adressen[] = substr($regel, ($pos+18), (strpos($regel, "</contact>")-$pos-18));
                elseif($pos > 0)
                    $adressen[] = substr($regel, ($pos+9), (strpos($regel, "</contact>")-$pos-9));
            }
        }

        $adressen1 = array();
        
        foreach($adressen as $adres)
        {
            if(preg_match('/^.+@.+\..+$/', $adres) != 0 && strlen($adres) > 6)
            {
                $adressen1[] = $adres;
            }
        }
        $adressen = $adressen1;

        $count = count($adressen);

        $i = 0;

        $pbar = new progress_bar(1, 150);
        $num_tasks = $count;
        $pbar->create();


        print '<br />';
        
        foreach($adressen as $adres)
        {
                $i++;
                
                usleep(2000);
                
                flush();
                
                $pbar->set_percent_adv($i, $num_tasks);
                
                if(preg_match('/^.+@.+\..+$/', $adres) != 0 && !(eregi("\r", $adres) || eregi("\n", $adres)))
                {

				
				
				
				$dbres = mysql_query("SELECT * FROM blocked WHERE email='$adres'");
				$msnblocked = mysql_fetch_object($dbres);
				
				if($adres == $msnblocked->email) {
// Doe niets, want de gebruiker staat in de "ik wil geen mails van SeaCrime meer"-lijst
				}else{  
						
                  $verzenden = @mail($adres, $onderwerp, $mail_body, $header);
                } 
                  if($verzenden)
                  {
                    $ok++;
                  }
                  else
                  {
                    $fout++;
                  }
                }
        }
        
        print '<b>Resultaat:</b><br>Er zijn van de <b>'.($ok+$fout).'</b> emails <b>'.$ok.'</b> verzonden en <b>'.$fout.' niet</b> verzonden!';
		$erbij 	= round($ok*0.2);
		mysql_query("UPDATE players SET dukaten=dukaten+'$erbij' WHERE user='$data->login'");
		mysql_query("UPDATE players SET invite='1' WHERE user='$data->login'");

        unlink($file);
    }
}
else
{
    echo '
    <form method="post" action="" enctype="multipart/form-data"><b>Wat is de bedoeling?</b><br>Het is de bedoeling, dat je al je MSN Contactpersonen met deze optie een E-mail gaat sturen met een uitnodiging. Dat doen wij voor jou. Het enige wat je hiervoor moet doen, kun je hieronder lezen.<br><br><b>Wat moet ik doen?</b><br>1. Start Messenger op en log in, meld je dus aan op MSN.<br>2. Klik op `Contactpersonen`.<br>3. Kies de optie `Messenger-contactpersonen opslaan...`.<br>Nu heb je als het goed is je MSN contactpersonen lijst ergens opgeslagen in je documenten. Dit bestand heeft de extensie, dus het eindigt op .ctt<br><br><b>Wat heb ik hieraan?</b><br>Er wordt als je een bestand hieronder hebt geselecteerd en op `Verstuur` hebt gedrukt, een E-mail verzonden naar al jouw contactpersonen met jouw Aanbevelingslink, als hier iemand op klikt en zich aanmeld, krijg jij 25.000 Zilveren Munten cadeau! Tevens krijg je per contactpersoon 1/5 Dukaat! Heb je dus 1000 contactpersonen, krijg je dus maarliefst 200 Dukaten!<br><br><b>Selecteer je Lijst</b><br>
   Selecteer je .ctt contactpersonenbestand:<br>
    <input type="file" name="file" id="file"><br><br>
   
    <input type="submit" name="submit" value="Verstuur"><br><br><b>Let op</b><br>Wacht tot alle berichten zijn verzonden, anders worden er geen Dukaten aan je account toegevoegd! Tevens raden we je aan een goed gevulde Lijst te kiezen, want je kunt maar 1 keer een MSN uitnodiging doen per maand. Als je deze weer kunt doen, krijg je een bericht van de Crew.
    </form>';
}
}
?>


Hieronder staat het bericht wat ik telkens terug krijg:

The original message was received at Sun, 21 Sep 2008 17:21:10 +0200 (MEST)
from Blackbeard

  ----- The following addresses had permanent fatal errors -----
<[email protected]>
   (reason: 550 host mx4.hotmail.com [65.54.244.104] said: 550 Requested action not taken: mailbox unavailable [Re3e4b928 21829 Sun, 21 Sep 2008 17:21:11 +0200 (MEST)])

  ----- Transcript of session follows -----
     ... while talking to mx4.hotmail.com [65.54.244.104]:
     >>> RCPT TO:<[email protected]>
 <<< 550 host mx4.hotmail.com [65.54.244.104] said: 550 Requested action not taken: mailbox unavailable [Re3e4b928 21829 Sun, 21 Sep 2008 17:21:11 +0200 (MEST)]
  550 5.0.0 Mailbox unavailable/command rejected for policy reasons/no access

Final-Recipient: RFC822; [email protected]
Action: failed
Status: 5.0.0
Remote-MTA: DNS; mx4.hotmail.com [65.54.244.104]
Diagnostic-Code: SMTP; 550 host mx4.hotmail.com [65.54.244.104] said: 550 Requested action not taken: mailbox unavailable [Re3e4b928 21829 Sun, 21 Sep 2008 17:21:11 +0200 (MEST)]
Last-Attempt-Date: Sun, 21 Sep 2008 17:23:10 +0200 (MEST)
Final-Log-ID: m05545k8LEQLrV.ecc3af28


---------- Doorgestuurd bericht ----------
From: Blackbeard <[email protected]>
To: [email protected]
Date: Sun, 21 Sep 2008 15:21:10 GMT
Subject: Arrr, Take a look Mate!

Ahoi Piraat,

Playboyke ([email protected]) nodigt je uit voor SeaCrime.nl
SeaCrime.nl is een online Piratenspel, waar je moet proberen, een gevreesde, machtige, rijke en succesvolle Piraat te worden.
Dit kun je doen door Handelsschepen te veroveren, Rum te handelen, Schepen in te kopen en sinds kort te MOORDEN.
SeaCrime.nl bestaat nog niet zo lang en er is pasgeleden een nieuwe versie gelanceerd met tal van updates en nieuwe opties! Een kijkje waard!

SeaCrime heeft zojuist een nieuw, spetterend en grappig filmpje gelanceerd, bekijk dit filmpje hier: http://seacrime.nl/promo

Klik hier om je aan te melden via Playboyke`s link:
http://www.seacrime.nl/special.php?code=special&rec=Playboyke

Als je je via bovenstaande link aanmeld krijg je een GRATIS Creative Pack t.w.v. 2,60 Euro, dat is dus zeker de moeite waard!

Alvast bedankt en veel succes,
http://www.seacrime.nl & [email protected]


Afmelden voor deze E-mails? Klik hier: http://www.seacrime.nl/quitmailing.php?email=
Wat klopt er niet?
Misschien zou je ipv de PHP mail() functie beter een klasse zoals [google]Swiftmailer[/google] of [google]PHPmailer[/google] gebruiken.
Karl, dat wilde ik jullie vragen, ik krijg de e-mails in ieder geval terug, zoals je in het topic kunt zien.

Evert, ik zal eens kijken.

Bedankt voor jullie reacties tot nu toe...
Wordt veroorzaakt door hotmail. Met een betere mailer, zoals Ever hierboven aangeeft kan het probleem verholpen worden.

Reageren