Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый Сегодня, 04:28   #1
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 156
По умолчанию Как данные с БД передать письмом ?

Здравствуйте кто не спит, как бы данные передаются, но не так как хотелось бы, во первых письмо приходит на каждый заказ, а не на каждого заказчика с его заказами как нужно, во вторых код то работает, то пишет ошибку ? Переношу фигурные скобки приходит одно письмо, в адресе TO стоят все адреса которым нужно отправлять письма, а заказ прикреплён один, белиберда короче.
Учу массивы, циклы примеры почти одинаковые - яблоки, груши и т.д.
Может у кого есть конкретные примеры по моей проблеме ?
Да у меня phpmailer 5.2 пробовал 6.9.1 не походит под мой php, обновлять буду позже.
Прошу - кто чем может. Далее код -

Код:
<?

require_once '../PHPMailer-master/PHPMailerAutoload.php';

$base = 'https://tyty.com/';
// ВЫБЕРИТЕ значения электронной почты и контактов из Базы данных
$query = "SELECT * FROM book WHERE 
	id_akk > 0 AND 
	(data1 - INTERVAL 10 DAY > NOW()) AND 
	(data1 - INTERVAL 11 DAY < NOW())";
	

// Результат = запрос на доске
$result = mysqli_query($link,$query);	
// Получить массив адресов электронной почты и имен пользователей.
while($row = $result->fetch_array())
{

    // Создать НОВОЕ электронное письмо
    $email = new PHPMailer;

    // Установите настройки электронной почты
//$email->isSMTP();
$email->Host = "ssl://localhost";
$email->SMTPAuth = true;
$email->SMTPKeepAlive = true; // SMTP connection will not close after each email sent, reduces SMTP overhead
$email->Port = 25;
$email->SMTPSecure = 'SSL';
$email->Username = "xxxxxx@xxxxx.ru";
$email->Password = "xxxxxxxxxxx";
$email->CharSet = 'UTF-8';
$email->addReplyTo('mail@tyty.com');
$email->From  = 'xxxxx@xxxxx.ru ';
$email->FromName  = 'Name ';
    
    $email->Subject = "Ваш zakaz выплнeн";

    // Добавить получателя из значений, найденных в Базы данных
    $email->addAddress($row["email"], $row["Name"]);
$email->isHTML(true);	
$base='https://tyty.ru/';

    $email->Body ="Здравствуйте,..... 
	
Ваш zakaz : N {$row['id_zakaz']}</br></br>

$message";
    $email->AltBody = $message;

    if(!$email->Send())
    {
    echo "Сообщение не может быть отправлено..";
    echo "Ошибка почтовой программы: " . $email->ErrorInfo;
    exit;
    }

print "Sent mail to: {$row["email"]} <br>";
  

 
}

?>
ROM710 на форуме Ответить с цитированием
Старый Сегодня, 07:22   #2
Vapaamies
Просветитель
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,830
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
Переношу фигурные скобки
Не представляю, чем тут можно помочь. Не ошибка ли в ДНК это?

Как проверить:
  • Перестать пытаться победить комп методом тыка. ← вы находитесь здесь
  • Встать из-за компа. ← пойти спать, если это была бессонная ночь; продолжить после пробуждения
  • Взять листок бумаги и ручку.
  • Налить чаю/кофе.
  • Сесть на кухне, на балконе или где-то еще, не за компом.
  • Попивая напиток, представить в уме алгоритм выполнения задачи, нарисовать его на бумаге, чтобы стали понятны шаги. ← не возвращаться за комп, пока не станут понятны
  • Вернуться за комп и реализовать.
  • Если не заработает — можно вернуться на форум, описать алгоритм с бумаги и привести новый код.
Если и после этого будут те же ошибки — перепрошить ДНК бросить программирование, не ваше это.
В разработке: воспроизводственный контур ИТ
Vapaamies вне форума Ответить с цитированием
Старый Сегодня, 09:46   #3
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 156
По умолчанию

То что не ошибка в ДНК, это точно, не так то легко постигать эту науку только с интернета, бросать программирование не собираюсь, и не такое в жизни проходили, люди воспитанные комсомолом не сдаются. Не получится сейчас, получится потом, сколько нужно сколько и будем переписывать код, пока не заработает.
ROM710 на форуме Ответить с цитированием
Старый Сегодня, 14:20   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,597
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
будем переписывать код, пока не заработает.
Это не рационально, так как е-майл это устаревшая технология, и при написании с нуля относительно построения архитектуры, её не нужно использовать.

Научитесь лучше напрямую подключаться к базе, далее если это не студенческий проект, создайте вторую базу с логом заказом, там и смотрите всё.
Alar вне форума Ответить с цитированием
Старый Сегодня, 16:12   #5
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 156
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
так как е-майл это устаревшая технология
Как устаревшая ? Вы меня удивили, до этого только и слышал - переходите на SMTP phpmailer,
у меня mail php прекрасно работала, но письма стали уходить в спам, вот пытаюсь исправить.
Цитата:
Сообщение от Alar Посмотреть сообщение
Научитесь лучше напрямую подключаться к базе
Как ? в файле прописывать подключение ? На заказы у меня отдельная таблица. Подключение к БД через файл require_once('.connect')
Цитата:
Сообщение от Alar Посмотреть сообщение
создайте вторую базу с логом заказом,
Это не студенческий проект, вот здесь можно чуть подробнее.
ROM710 на форуме Ответить с цитированием
Старый Сегодня, 16:37   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,759
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
у меня mail php прекрасно работала, но письма стали уходить в спам, вот пытаюсь исправить.
Тогда не туда копаете. Крупные почтовики давно подтянули требования по сторонним мейлерам. DKIM есть у вашего почтовика?
p51x вне форума Ответить с цитированием
Старый Сегодня, 17:02   #7
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 156
По умолчанию

Да, DKIM на хостинге, но отправляю почту через smtp.rambler,
Письма отправлялись раньше через mail php, потом пошли в спам, служба поддержки хостинга и рекомендовала SMTP
ROM710 на форуме Ответить с цитированием
Старый Сегодня, 17:27   #8
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,597
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
до этого только и слышал
Где? где вообще в рунете на русском языке есть профессиональные форумы по программированию кроме этого, чтобы был вариант их там слушать? )))


Цитата:
Сообщение от p51x Посмотреть сообщение
Крупные почтовики давно подтянули требования по сторонним мейлерам. DKIM есть у вашего по
так и это тоже не туда ))

Нужно во первых делать на домене почту, днс делать, кроме яндекса даже не знаю других которые будут нормально поддерживаться, так что на яндекс днс подвязывать, а сейчас он платный, с будущего года походу и с меня будут бабло ежемесячно сшибать.

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

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

После всего этого гугл пишет официальные письма что он не будет принимать по обычной аутенфикации, а то что есть сейчас - убейся ап стену. и вот эти все ваши скрипты из 90-х ))) не про него.

Так то даже удивительно что рамбел вообще как-то почту прогоняет.


Цитата:
в файле прописывать подключение ?
впринципе если у вас нет фаервола, то порт на базе точно открыт, туда можете постучать с паролем от базы. после этих манипуляций с подключением, вы поймёте, что пароль вам нужно бы поменять на базу, потом дойдёт до как вы там себя назвали, что подключаться из вне желательно к другой базе, а рабочую не трогать.

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

Ну вообщем после всего этого может и до современных технологий доберётесь.

Но опять же это всё не для студенческих проектов, где нужно за ночь сделать чтобы работало сдать и забыть.
Alar вне форума Ответить с цитированием
Старый Сегодня, 17:59   #9
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 156
По умолчанию

Почитал, спасибо Alar, получается, что с mail php проблем меньше было, чётко уходили как надо, на каждого потребителя, со всеми его заказами, но в спам.
Прежде чем затевать эту катавасию -
Цитата:
Сообщение от Alar Посмотреть сообщение
После этого писать на каждый из почтовиков в саппорт, если топикстартера интересует чтобы клиентам доходили хотя бы в спам ))). т.е. в малй ру писать, в яндекс писать, в гугл писать, но толку с этого может и не быть сейчас.
Нужно доделать код, проверить на рамблер, а потом по вашей схеме в долгий путь.

Опять вернулись на круги своя, то есть к коду, какие шансы здесь ?
ROM710 на форуме Ответить с цитированием
Старый Сегодня, 18:36   #10
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,597
По умолчанию

Rambler SMTP

https://help.rambler.ru/mail/mail-po...e-klienty/1275

Цитата:
smtp.rambler.ru - 465, 587, 25, 2525 (шифрование: ssl/tls/startls/без шифрования)


где у вас в коде smtp.rambler.ru


Цитата:
Сообщение от ROM710 Посмотреть сообщение
$email->SMTPSecure = 'SSL';
где у вас в коде 465 порт
Alar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передать данные в комбо DMITRIY_78 Microsoft Office Excel 6 22.01.2022 14:23
Как передать данные в поток.. login10 C# (си шарп) 9 01.11.2014 15:08
Как передать данные из WebBrowser'a ? Santa86 C# (си шарп) 0 15.10.2014 17:42
Передать данные в php, проблема. wmm PHP 0 03.10.2012 15:33
Как передать данные из SQL в файл _ozzy_ БД в Delphi 0 12.06.2008 16:50