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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2024, 21:27   #1
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 159
По умолчанию Переход с Sendеmail на SMTPEmail

Здравствуйте, подскажите пожалуйста, что нужно менять в коде php (регистрация пользователей) при переходе с Sendеmail на SMTPEmail.
Наверное не достаточно будет прописать только порт, сервер, пароль и логин ?
phpmailer - установил, дальше мало что понимаю.
ROM710 вне форума Ответить с цитированием
Старый 03.07.2024, 08:54   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,179
По умолчанию

ну прочти доку по PHPMailer
флаг того, что нужно отправлять по SMTP еще нужно в true выставить
ADSoft вне форума Ответить с цитированием
Старый 03.07.2024, 11:38   #3
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 159
По умолчанию

Тут сколько всякой доки, поди разберись какая та ?
ROM710 вне форума Ответить с цитированием
Старый 05.07.2024, 12:40   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,179
По умолчанию

а кому сейчас легко?
... учитесь самостоятельно гуглить, яндексить и вообще использовать интернет

первый же запрос нашел
https://teletype.in/@shpagin/phpmailer
на 100% решает вашу проблему и отвечает на вопросы
ADSoft вне форума Ответить с цитированием
Старый 20.08.2024, 16:33   #5
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 159
По умолчанию

Спасибо ADSoft, с этого я начинал, этот сайт действительно Выходит первым.
Здесь я разобрался, нашёл другие примеры под свой php и почта отправляется.

Сейчас стоит другая задача - как заполнить строку - $mail->addAddress(' '); из БД
В старом скрипте было так -
Код:
$r=mysqli_query($link,"SELECT * FROM book WHERE id='".$id."'");
	$rr=mysqli_fetch_array($r);
	$email=$rr['email'];
Сейчас нашёл несколько примеров, но всё время пишет - You must provide at least one recipient email address

Вот последний мой вариант -
Код:
$mail->addAddress($row['email']);

$r=mysqli_query($link,"SELECT email FROM book WHERE id='".$id."'");
    $row = mysqli_fetch_array($r,MYSQLI_ASSOC);
    echo $row['email'];
Может кто подскажет, пожалуйста.

Гуглить, яндексить и использовать интернет мы умеем и сэтого начинаем, в даном случае не помогло, своих знаний здесь не хватает.
ROM710 вне форума Ответить с цитированием
Старый 20.08.2024, 18:12   #6
Vapaamies
Просветитель
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,844
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
Вот последний мой вариант -
Код:
$mail->addAddress($row['email']);

$r=mysqli_query($link,"SELECT email FROM book WHERE id='".$id."'");
    $row = mysqli_fetch_array($r,MYSQLI_ASSOC);
    echo $row['email'];
Ну, то есть, сначала устанавливаем e-mail, а потом вычитываем его из базы? И удивляемся, почему не работает? Рука-лицо!
В разработке: воспроизводственный контур ИТ
Vapaamies вне форума Ответить с цитированием
Старый 20.08.2024, 18:35   #7
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 159
По умолчанию

Спасибо Vapaamies, ошибку не пишет уже хорошо, но почему то не прикрепляет, попробую дальше сам разобратся
ROM710 вне форума Ответить с цитированием
Старый 24.08.2024, 10:19   #8
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 159
По умолчанию

Сегодня здравствуйте, разобрался, все адреса прикрепляет, письма отправляет, но письма приходят пустые. Если пропишишь слова в $message=' '; тогда отправит, если пропишишь textarea
Код:
<textarea name="message" cols="50" rows="9"><?=$message?></textarea>
сообщение исчезает.
В яндексе находил подсказки но они у меня не работают, незнаю как передать текст с textarea в $message=' ';
Кто знает подскажите пожалуйста.
ROM710 вне форума Ответить с цитированием
Старый 26.08.2024, 08:00   #9
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,179
По умолчанию

Вангую что $message берется из ниоткуда.... у вас есть где-то
Код:
$message = $_POST['message']
до этого?
ADSoft вне форума Ответить с цитированием
Старый 19.09.2024, 17:56   #10
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 159
По умолчанию

Здравствуйте, тяжело даётся SMTP, делаю одно, прпадает другое и так по кругу.
Сеёчас получилось так, письма оправляются, но письмо идёт на каждый заказ, как сделать на каждого заказчика, а все его заказы выводились в письме ?
Будьте добры, честно измучился, информации почти нет, в основном азы, и переписанные по сто раз друг у друга.
Код:
 <?

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; 19.09.2024 в 17:59.
ROM710 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход с Win XP на Win 7 Aleklon Windows 1 31.03.2013 22:24
переход на url Morgusha PHP 20 18.02.2013 10:23
переход с ХР на 7 Viktori-P Windows 4 16.02.2013 20:20
Переход на C Gapro Свободное общение 8 09.11.2009 13:02
Переход Gorychev PHP 6 26.05.2008 01:16