Форма рассылки писем зарегистрированным пользователям

12
V1@d!m!r
На сайте с 09.10.2007
Offline
97
929

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

Так он работает, но нужно вытаскивать из базы supru , таблицы pmd_users, столбика mail адрес почты, выбирать строчки таким образом чтобы в столбике flag стояла буква A, а в firmstate - on:


<?php
$emails = array(
'mail@mail.ru','mail2@mail.ru' // отправляем писма на эти 2 мыла
);
$i=0;
foreach ($emails as $email) {
$title="***";
$subjectOfEmail = "***";
$header="From: \"Имя Фамилия\" <mail3@mail.ru>\n";
$header.="Content-type: text/html; charset=\"windows-1251\"";
$message = '<html>
<head></head>
<body>
</body></html>';
mail($email, $subjectOfEmail, $message, $header);
$i++;
}
echo "количество отправленных е-mail" . $i . "<br>";
?>

Так выглядит начало моего кода (с коннектом к бд)...:

$host = "localhost"; // Хост сервер базы данных (как правило не изменяется)

$user = "***"; // Логин для доступа к базе данных
$pwd = "***"; // Пароль к базе данных
$db_name = "supru"; // Название базы данных
$prefix_b = "pmd"; //Укажите префикс базы данных, например любые латинские буквы

$link=mysql_connect($host,$user,$pwd) or die("Could not connect: " . mysql_error());
mysql_select_db($db_name,$link);

$result = "SELECT mail FROM pmd_users where firmstate='on' and flag!='A' LIMIT=1";
$query = mysql_query($result);
mysql_close($link);
$emails = ($query);
$i=0;

Подскажите пожалуйста, что делаю не так и как сделать так:)

siv1987
На сайте с 02.04.2009
Offline
427
#1
flag!='A'

flag = 'A'

V1@d!m!r
На сайте с 09.10.2007
Offline
97
#2
siv1987:
flag = 'A'

исправил, результат все тот же - письмо не отправляется

количество отправленных е-mail0

V1@d!m!r добавил 14.06.2011 в 13:45

мне кажется я не правильно вывожу здесь -> $emails = ($query);

V1@d!m!r добавил 14.06.2011 в 13:46

хотя я уже много разных вариантов перепробывал

asto
На сайте с 13.10.2005
Offline
180
#3

V1@d!m!r, оно и не будет отправляться:) Поробуйте проверить работоспособность скрипта на реальном сервере, а не на дэнвере:) Ибо письма не уходят, а на хостинг если выгрузить, то все замечательно работает;) Это практически у всех скриптов отправки сообщения на мыло так. Во всяком случае, мне которые попадались, на локалке ни один письмо не отправлял, а на хосте замечательно все работали:)

asto добавил 14.06.2011 в 16:04

Я это в том смысле, что скрипты отправки сообщений на мыло нужно проверять на хостинге)

D
На сайте с 09.07.2009
Offline
79
#4

Да, нужен мыльный сервер на локалке.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#5

Не обязательно иметь мыльный сервер и выгружать скрипт.

Достаточно по человечески отправлять почту, через SMTP и всё.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
asto
На сайте с 13.10.2005
Offline
180
#6

digwnews, в том то и дело. Возможно потому и не отправляется сообщение:)

asto добавил 14.06.2011 в 16:17

LEOnidUKG, скрипты отправки сообщений на мыло почему-то не работают на локалке) ТСу лучше попробовать проверить на хосте скрипт, а не ломать голову об стену на пустом месте)

asto добавил 14.06.2011 в 16:19

LEOnidUKG, я в том плане, что если не настроено, то отправлять не будет с локалки)

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#7
asto:
digwnews, в том то и дело. Возможно потому и не отправляется сообщение:)

asto добавил 14.06.2011 в 16:17
LEOnidUKG, скрипты отправки сообщений на мыло почему-то не работают на локалке) ТСу лучше попробовать проверить на хосте скрипт, а не ломать голову об стену на пустом месте)

asto добавил 14.06.2011 в 16:19
LEOnidUKG, я в том плане, что если не настроено, то отправлять не будет с локалки)

Вы можете понять, что почта может до mail.ru не доходить через обычную функцию mail() и ТС опять будет себе голову ломать. Поэтому лучше завести ящик, скачать библиотеку для smtp и отправлять через неё.

asto
На сайте с 13.10.2005
Offline
180
#8
LEOnidUKG:
Вы можете понять, что почта может до mail.ru не доходить через обычную функцию mail() и ТС опять будет себе голову ломать. Поэтому лучше завести ящик, скачать библиотеку для smtp и отправлять через неё.

Да я ничего против не имею:) ТС вопрос задал, я ему лишь ответил из-за чего может скрипт не отправлять письма с локалки;) А как реализовать отправку писем с локалки - это на усмотрение ТС:)

[umka]
На сайте с 25.05.2008
Offline
456
#9

ТС, вы результат mysql-евский разбираете с помощью mysql_fetch_assoc или типа того? или не разбираете? :)

Лог в помощь!
V1@d!m!r
На сайте с 09.10.2007
Offline
97
#10

asto, В том то и дело, тестю на выделенном сервере... - не работает

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий