Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Одмин

Скрипт рассылки почты пользователям

Рекомендованные сообщения

Добрый вечер!

 

Предлагаю рассмотреть варианты рассылок писем пользователям.

 

1. Стандартный вариант через рассылки в АЦ и планировщик задач малоэффективный, ибо 10000 пользователей будут получать почту в течение 2-х месяцев, а хотелось бы сразу.

 

2. Через свою почту (не бесплатную), а от хостинга. Да, можно рассылать, но глюки с уже несуществующими емейлами, ошибками прерывают отсылку, после чего приходится убирать несуществующий емейл и повторять заново. Порой это геморройно.

 

3. Нашел скрипт, который позволяет рассылать почту неограниченному кол-ву пользователей, но через минуту он уже выдает ошибку 504. В результате часть пользователей рассылку недополучают. В php.ini max_execution_time стоит 240. Не понимаю, почему через минуту уже вылазит ошибка?

 

Скрипт выкладываю на всякий случай в [коде]:

 

 

 

<?php
ob_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta name="Description" content="высылай elaim из файла txt "/>
<meta name="Keywords" content="массовая рассылка с файла txt"/>
<meta name="Author" content=" имя, название сайта или компании твойадрес@gmail.com"/>

<title> Скрипт массовой рассылки</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>

<?php
ob_start();
$ip = $_SERVER['REMOTE_ADDR'];
?>

<body bgcolor=black>
<div style="width:1000px;margin:auto">
<center> <font color=white>
<h2> Скрипт массовой рассылки</h2><br><br>
<div style="background-color:black;color:white;width:450px;margin:autp;border:1px solid white;overflow:auto;padding:10px">
<FORM ENCTYPE="multipart/form-data" action="?" method="POST" >Файл с адресами e-mail<br>
<FORM ENCTYPE="multipart/form-data" method=post>
<INPUT TYPE="FILE" NAME="userfile" SIZE="50">

<br><br>

<br>Текст сообщения:<br>
<textarea name="opis" cols="50" rows="10"></textarea><br><br>Отправитель:<br><input type="text" name="odkovo" 

size="50"><br><br>
temat:<br> <input type="text" name="temat" size="50"><br>
<br>
<INPUT TYPE="SUBMIT" VALUE="Выслать" name="wys">
</form>
<?php
if(isset($_POST['wys'])){
echo "<font color=green> Высланные e-mail </font></br>";
$plik =$_FILES['userfile']['tmp_name'];
$fd = fopen( $plik, 'r' );
$file=$plik;
function get_addresses($file) {
$breaking = array(' ', ',', '>', '<', "\t", "\r", "\n");
$addr = array();
$data = explode('@', file_get_contents($file));
$n = count($data);
for ($i = 1; $i < $n; $i++) {
$addr[$i-1] = '@';
$begin = 0;
$end = strlen($data[$i-1]) - 1;
while ((!in_array($data[$i-1]{$end}, $breaking)) and ($begin <= $end)) {
$addr[$i-1] = $data[$i-1]{$end} . $addr[$i-1];
$end--;
}
$begin = 0;
$end = strlen($data[$i]) - 1;
while ((!in_array($data[$i]{$begin}, $breaking)) and ($begin <= $end)) {
$addr[$i-1] .= $data[$i]{$begin} ;
$begin++;
}
}
if (count($addr) == 0) {
return FALSE;
} else {
return $addr;
}
}
$odkovo=$_POST['odkovo'];
$headers=@$headers;
$headers .= 'MIME-Version: 1.0'. "\r\n"; // *5
$headers .= "Content-Type: text/html; charset=windows-1251 \r\n";
$headers .= "From: $odkovo \r\n";
$tablica = get_addresses($file);
for ($i=0; $i<=count($tablica); $i++)
{
$temat=$_POST['temat'];
$message=$_POST['opis'];
$message=nl2br($message);
$mail_sent = @mail($tablica[$i], "$temat", $message, $headers);
}
}
?>

</div>
</div></div><br>
<?php
ob_end_flush();
?>

 

 

Может подскажите куда копать?

Поделиться сообщением


Ссылка на сообщение

Грешу на то, что скорее всего скрипт недоработан.

Поделиться сообщением


Ссылка на сообщение

504 - это ошибка сервера, скорее всего таймаут. За пускайте из консоли ssh.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...