2009-08-24 9 views

Répondre

0

Utilisez la bibliothèque PHPMailer, elle a beaucoup de fonctionnalités. Stockez les adresses e-mail sous la forme d'un tableau et en utilisant for loop, continuez d'ajouter chaque adresse e-mail sous forme de chaîne au champ mail-> AddAddress. Il prendra soin d'envoyer le courrier en nombre. Je l'ai seulement utilisé pour envoyer des mails en vrac à 6/7 adresses à la fois. Cela devrait aussi fonctionner pour des centaines d'adresses.

1

Vous devez utiliser PHP? Si oui, j'utiliserais PHPMailer, j'ai un peu d'expérience avec ça et ça ne m'a pas manqué pour l'envoi de mails en masse. Alternativement, si vous avez accès au serveur, utilisez Postfix ou Sendmail, ce sont de meilleures options pour cette quantité de courrier.

2

Je n'essayerais pas d'écrire votre propre publipostage, sauf si vous avez beaucoup de temps. Il y a beaucoup de problèmes à traiter, y compris la limitation des courriels, l'envoi de courriels en petits groupes, de sorte qu'AOL et d'autres fournisseurs de services ne considèrent pas votre serveur comme des personnes SPAMMING. Je voudrais également regarder le suivi des courriels ouverts, les e-mails rebondis, les liens cliqués, etc.

Je voudrais regarder quelques options open source telles que www.phplist.com qui est un très bon programme open source pour faire des courriels en vrac.

Ou côté commercial, jetez un coup d'œil à Interspire Email Markerer, c'est un produit très élégant et qui vaut bien l'argent, et vous pouvez l'héberger sur vos propres serveurs.

www.interspire.com/emailmarketer/

+0

Ancien message Je sais, mais pourquoi ne pas simplement ajouter la liste d'email à la Bcc? – AlxVallejo

+0

@AlxVallejo car cela dépasserait la limite de l'en-tête de votre email et entraînerait une erreur. –

0

Vous pouvez utiliser swiftmailer pour elle. En utilisant un traitement par lots.

<?php 
    $message = Swift_Message::newInstance() 
     ->setSubject('Let\'s get together today.') 
     ->setFrom(array('[email protected]' => 'From Me')) 
     ->setBody('Here is the message itself') 
     ->addPart('<b>Test message being sent!!</b>', 'text/html') 
    ; 

    $data = mysql_query('SELECT first, last, email FROM users WHERE is_active=1') or die(mysql_error()); 
    while($row = mysql_fetch_assoc($data)) 
    { 
     $message->addTo($row['email'], $row['first'] . ' ' . $row['last']); 
    } 

    $message->batchSend(); 
?>