Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Почтовая рассылка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как подправить код
tstas
Отправлено: 03 Мая, 2016 - 18:01:22
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




Здравствуйте! Подскажите, совсем не силён в PHP. Необходимо организовать почтовую рассылку по базе подписчиков. Есть скрипт

PHP:
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5.   <meta charset="UTF-8">
  6.   <title>Рассылка писем на Email</title>
  7.   <link rel="stylesheet" href="style.css">
  8. </head>
  9. <body>
  10. <div class="email">
  11.   <div class="text">
  12.     <p>Введите тему письма</p>
  13.     <p>Введите адрес отправителя</p>
  14.     <p>Выберите базу Email адресов в формате csv</p>
  15.     <p>Выберите письмо в формате html</p>
  16.   </div>
  17.   <div class="input">
  18.     <form action="" method="POST" enctype="multipart/form-data">
  19. <input type="text" name="subject" required><br>  
  20. <input type="text" name="email" required><br>
  21.  <input type="file" name="address" accept='.csv' required><br>
  22.  <input type="file" name="text" accept='.html' required><br>
  23.   <input type="submit" name="submit" value="отправить">
  24.  </div>
  25.  
  26.   </form>
  27.  
  28. </div>
  29. </body>
  30. </html>
  31.  
  32.  
  33. <?PHP
  34. // несколько получателей
  35. if(isset($_POST['submit'])){
  36.  
  37.   $subject = $_POST['subject'];
  38.   $email = $_POST['email'];
  39.   $address = file_get_contents($_FILES['address']['tmp_name']);
  40.   $address= explode("\n", $address);
  41.   $j = count($address)-1;
  42.  
  43.   $message = file_get_contents($_FILES['text']['tmp_name']);
  44.   for ($i=0; $i <$j ; $i++) {
  45.     $to = $address[$i];
  46.     $headers  = 'MIME-Version: 1.0' . "\r\n";
  47.     $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  48.     $headers .= 'From:  <'.$email.'>' . "\r\n";
  49.     mail($to, $subject, $message, $headers);
  50.   }
  51.   echo '<script type="text/javascript">alert("Готово")</script>';
  52.  
  53.  
  54.   // Where the file is going to be placed
  55. }
  56.  
  57.  
  58. ?>
  59.  


На три своих почты отправляет прекрасно, но по базе не доходит.

Хост можордомо, пишут следующее

Отправка почты из скриптов
Вы можете отправлять почту из скриптов Вашего сайта без ограничений. Почти без ограничений. Главное условие - отсутствие жалоб на спам с Вашего сайта. Если будут жалобы, то нам, к сожалению, придется запретить Вам отправку почты.

Первый и главный момент при отправке письма - путь к почтовой программе. В качестве почтового демона у нас установлен Exim. Путь к нему, который Вы должны использовать в скриптах, - /usr/sbin/sendmail -t.

Важно! Если Ваш скрипт отправляет письма только Вам, то указание отправителя не принципиально. Однако это становится актуальным в случае рассылки писем, так как письмо должно содержать поле From:, чтобы не казаться анонимкой.

При использовании Perl отправка письма происходит вызовом /usr/sbin/sendmail и печатью в поток. Заголовок From: указывается явно. При использовании PHP письмо можно отправить вышеописанным образом или используя функцию mail(). Во втором случае заголовок From: указывается в четвертом параметре функции среди других необязательных заголовков.

Есть причины, по которым письма не доходят, и почтовые сервера генерируют письма с сообщением об ошибке. Эти письма направляются на адрес, указанный в заголовках потерявшегося письма в поле Reply-To:.

Как формируется это поле? В поле Reply-To: указывается обратный адрес вида admin@sitename.majordomo.ru. Для того чтобы установить в данное поле Ваш реальный адрес, свяжитесь, пожалуйста, с нашей службой технической поддержки по почте: support@majordomo.ru. Мы сделаем специфические настройки на сервере, после чего Вы сможете использовать добавочный ключ "-f" с Вашим адресом в команде mail(): mail($email, $subject, @body, "From: your_mail@domain.ru", "-fyour_mail@domain.ru").

Подскажите пожалуйста, куда вставить /usr/sbin/sendmail -t.

Заранее спасибо!
 
 Top
caballero
Отправлено: 03 Мая, 2016 - 18:34:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




mail() сама знает как отправлять письма - не надо ничего никуда вставлять


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tstas
Отправлено: 03 Мая, 2016 - 18:41:43
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




В базу вбил 3 своих почты, отправил, всё чудесно! Прикрепил базу из 5000 и три своих адреса, к себе почта не дошла, прикрепил базу из 1000 и три своих, тишина. Отправил 100 со своими адресами, пришли три письма, отправил ещё 100 и тишина.
 
 Top
caballero
Отправлено: 03 Мая, 2016 - 19:14:07
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




значит что то не так с адресами - может они под спам фильтр попали.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tstas
Отправлено: 03 Мая, 2016 - 19:43:11
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




То есть скрипт рабочий и то что пишет хостер что нужно указать:
Путь к нему, который Вы должны использовать в скриптах, - /usr/sbin/sendmail -t.
 
 Top
caballero
Отправлено: 03 Мая, 2016 - 20:11:14
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




каким боком тут sendmail - его функция mail() и сама знает где найти.
Если по одному адресу приходит а по другому нет то причем тут вообще какие то функции и скрипты?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tstas
Отправлено: 03 Мая, 2016 - 20:42:13
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




Логично! Спасибо. Смутило, что отправка на 3 адреса доходит, а на 103 включая мои 3 нет. И документация хостера "Отправка почты из скриптов". Может просто скрипт не расчитан на такой объем? Но всё равно спасибо.
 
 Top
caballero
Отправлено: 03 Мая, 2016 - 20:44:45
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




скрипт - понятие растяжимое
то что имеет ввиду хостер и что вы себе представляете - разные вещи.
почта либо работает либо нет.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tstas
Отправлено: 03 Мая, 2016 - 21:17:30
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




Спасибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB