2009-08-24 3 views

ответ

0

Используйте библиотеку PHPMailer, у нее много функциональности. Храните адреса электронной почты в виде массива, и для цикла loop просто добавьте каждый адрес электронной почты в виде строки в поле mail-> AddAddress. Он позаботится о отправке массовой почты. Я использовал это только для отправки массовых писем по 6/7 адресов за раз. Он также должен работать на сотни адресов.

5

Вы также можете использовать SwiftMailer

Пожалуйста, смотрите на аналогичной должности here

1

Вы должны использовать PHP? Если это так, я бы использовал PHPMailer, у меня был некоторый опыт работы с ним, и он не подвел меня для массовой отправки по электронной почте.

В качестве альтернативы, если у вас есть доступ к серверу, посмотрите на использование Postfix или Sendmail, они лучше подходят для такого количества писем.

1

Если вы отправляете много писем, вы не хотите делать все это один раз, иначе вы будете потреблять слишком много ресурсов.

Вот учебник о том, как использовать Mail_Queue компонент библиотеки PEAR: http://pear.php.net/manual/en/package.mail.mail-queue.mail-queue.tutorial.php

Это в основном будет постепенно отправлять сегменты вашей электронной почты взрыва без дросселирования сервера.

2

Я бы не стал писать собственную рассылку, если у вас не было много времени. Существует множество вопросов для охвата, включая дросселирование электронных писем, отправку электронных писем на небольшие партии, поэтому AOL и другие поставщики услуг не считают ваш сервер СПАММИНГОМ. Также вы хотите включить отслеживание открытых электронных писем, отслеживать отсканированные электронные письма, ссылки по ссылкам и т. Д.

Я бы рассмотрел некоторые варианты с открытым исходным кодом, такие как www.phplist.com, что является очень хорошей программой с открытым исходным кодом для массовых электронных писем.

Или на коммерческой стороне взгляните на Interspire Email Markerer, это очень гладкий продукт и стоит денег, а также вы можете разместить его на своих серверах.

www.interspire.com/emailmarketer/

+0

Старый пост Я знаю, но почему бы не просто добавить список рассылки в Скрытую копию? – AlxVallejo

+0

@AlxVallejo, потому что он превысит ваш лимит заголовка электронной почты и приведет к ошибке. –

0

Вы можете использовать SwiftMailer для него. Используя пакетный процесс.

<?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(); 
?> 
Смежные вопросы