Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 11

Почтовая рассылка PHP

03.05.2016, 18:07. Показов 1187. Ответов 1
Метки нет (Все метки)

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

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

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

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

Первый и главный момент при отправке письма - путь к почтовой программе. В качестве почтового демона у нас установлен 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.

Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2016, 18:07
Ответы с готовыми решениями:

Почтовая рассылка
Вопрос такой: Написать скрипт рассылки не проблема, а вот предположим в базе есть 1000 пользователей, или 10 000 пользователей, всем...

Рассылка на php
Всем хорошего дня) Есть сайт института дополнительного образования, база клиентов формируется из прошедших обучение (на данный момент...

Рассылка сообщений по форумам PHP
Доброго времени суток! Нужен совет в следующем вопросе: необходимо создать программу на php, которая будет рассылать сообщение написанное...

1
 Аватар для skelmen
10 / 10 / 3
Регистрация: 03.04.2015
Сообщений: 130
07.05.2016, 09:36
Это в код не вставляется. Посмотрите логи exim, скорее всего там есть описание ошибки. А также в нем проверьте висят ли остальные неотправленные письма в очереди.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.05.2016, 09:36
Помогаю со студенческими работами здесь

denwer и почтовая рассылка
можно ли используя denwer сделать рассылку на e-mail??? пробовал функцию mail, на почту ничего неприходит...

Почтовая Рассылка Яницкого Александра
суть проблемы нужно было добавить пару полей в рассылку а именно Статистика(рассылки писем) и Дату отправки вроде все сделал правильно...

Почтовая форма PHP со всплывающими окнами
Здравствуйте, дорогие друзья! Мне нужна почтовая форма, точней она у меня есть, можно ли переделать этот код так, чтобы...

Рассылка сообщений php
Такой вопрос на @mail.ru и на @yandex.ru все норм отправляются а вот на @gmail.com в спам как сделать чтобы не отправлялось в спам ? ...

Рассылка новостей на PHP
Можно ли воплотить? Здесь мне непонятно только одно: как заставить сервер самому в нужный день недели активизироваться и запускать скрипт...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru