Почта не отправляется - SendMail не работает!

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Почта не отправляется - SendMail не работает!

Сообщение xor » Пт сен 07, 2018 11:52 pm

mit писал(а):
Пт сен 07, 2018 2:15 pm
Доброго всем времени суток.
У меня почему то не получилось. Вызываю SendMail и SendMail_html, всё вроде как выполняется, но письма не приходят. Видимо и не уходят.
У меня система устанавливалась в мае 2018. Обнаружил в папке apps приложение miniRelay. Само приложение судя по логам последний раз отрабатывало в 2012 году. Нигде в настройках, коде и файлах конфигурации не обнаружил ничего связанного с miniRelay. Прошу направить в правильное русло - где искать настройки и как победить проблему.
У меня тоже не заработало под вин(.
Установил phpmailer https://github.com/PHPMailer, написал функцию mySendMail( $to,$from, $subj, $body, $attach=""), шлёт через мой яндекс-ящик, можно добавлять аттачи, проблем с кодировкой нет.
Предполагается, что папка PHPMailer лежит в lib
Настройки внутри - для Яндекса,
плюс логин/пароль для Я-почты:
gg('Sergey.YaMailAddress')
gg('Sergey.YaPassword')

Example: mySendMail('JonDow@gmail.com','Alice', 'тест', 'проба письма');
СпойлерПоказать

Код: Выделить всё

 function mySendMail($to,$from,$subj,$body,$att=null) 
{

 require_once 'lib/PHPMailer/PHPMailerAutoload.php';

//Create a new PHPMailer instance
$mail = new PHPMailer;
$mail->setLanguage('ru', 'lib/PHPMailer/language/');
//Tell PHPMailer to use SMTP
$mail->isSMTP();

//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$mail->SMTPDebug = 0;

//Ask for HTML-friendly debug output
$mail->Debugoutput = 'html';

//Set the hostname of the mail server
$mail->Host = 'smtp.yandex.com';

//Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission
$mail->Port = 587;

//Set the encryption system to use - ssl (deprecated) or tls
$mail->SMTPSecure = 'tls';

//Whether to use SMTP authentication
$mail->SMTPAuth = true;


$mail->CharSet = "UTF-8";
//Username to use for SMTP authentication - use full email address 
$mail->Username = gg('Sergey.YaMailAddress');

//Password to use for SMTP authentication
$mail->Password =gg('Sergey.YaPassword');

//Set who the message is to be sent from
$mail->setFrom(gg('Sergey.YaMailAddress'), $from);

//Set an alternative reply-to address
//$mail->addReplyTo('replyto@example.com', 'First Last');

//Set who the message is to be sent to
$mail->addAddress($to);

//Set the subject line

$mail->Subject = $subj;
$mail->Body = $body ;

//Attach a file
if (isset($att)){
  $mail->addAttachment($att);
}
//send the message, check for errors
if (!$mail->send()) {
    return "Ошибка почты: " . $mail->ErrorInfo;
} else {
    return "Письмо отправлено";
}

 
}
За это сообщение автора xor поблагодарил:
mit (Пн сен 10, 2018 5:14 pm)
Рейтинг: 1.16%
mit
Сообщения: 12
Зарегистрирован: Пт июл 13, 2018 6:29 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Почта не отправляется - SendMail не работает!

Сообщение mit » Пн сен 10, 2018 5:20 pm

Спасибо за ответ. Можно ещё вопрос - где можно почитать, как установить решение с GitHub и писать функцию нужно в сценарии?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Почта не отправляется - SendMail не работает!

Сообщение nick7zmail » Вт сен 11, 2018 6:16 am

Скачать, распаковать, в скрипте в строке reauire прописать путь куда распаковали. В некоторых случаях требуются доп действия со всякими там compoiser-ами или как их там...но я думаю это не тот случай))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Почта не отправляется - SendMail не работает!

Сообщение xor » Ср сен 12, 2018 1:33 am

mit писал(а):
Пн сен 10, 2018 5:20 pm
Спасибо за ответ. Можно ещё вопрос - где можно почитать, как установить решение с GitHub и писать функцию нужно в сценарии?
Да, скачиваете с Гитхаба архив,разархивируете в папку \lib\PHPMailer, туда же, в lib кладёте файл с пользовательскими функциями (my_funcs.php),
там у меня настройки для Яндекса, правите два свойства под свои (или даже прям в тексте функции можете вбить свой логин/пароль текстовой строкой))). Не помню, надо рестартовать мжд. Наверное, надо.
В консоли проверить отправку себе на ящик
mySendMail('мойящик@мояпочта.ага','Alice', 'тест', 'проба письма');
должно прийти Письмо отправлено, ну и ящик проверить.
Потом можно в сценариях там пользоваться
Вложения
my_funcs.zip
(969 байт) 201 скачивание
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Почта не отправляется - SendMail не работает!

Сообщение xor » Ср сен 12, 2018 1:35 am

2018-09-12_01-16-31.png
2018-09-12_01-16-31.png (17.01 КБ) 4807 просмотров
Блин, как сдесь коряво неск. вложений вставляются! :evil:

Иметь файл со своими функциями удобнее, при старте мжд они автоматом становятся доступными везде в системе. А так да, можно в своем скрипте только свою функцию определить.

ps/ при правке my_funcs.php только кодировку не повредить желательно utf-8 без bom
mit
Сообщения: 12
Зарегистрирован: Пт июл 13, 2018 6:29 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Почта не отправляется - SendMail не работает!

Сообщение mit » Ср сен 12, 2018 9:21 am

Скачал сначала https://github.com/PHPMailer/PHPMailer/ ... master.zip
На странице Маркет дополнений установил архив по кнопке Добавить/Обновить вручную
получил сообщение Plugin 'PHPMailer-master.zip' (Unknown version) installed
на закладке Custom появился модуль PHPMailer-master.zip
не нашел куда всё развернулось, развернул руками архив в lib/PHPMailer/
в нем не нашел файла PHPMailerAutoload.php
скачал https://github.com/PHPMailer/PHPMailer/ ... stable.zip
развернул повторно.

Объекты/Сценарии создал сценарий с названием mySendMail
вставил в него весь код из сплоера 'function mySendMail($to......' без изменений.

увидел ответ с картинкой, скопировал my_funcs.php в lib/ без изменений.

создал объект Sergey (Объекты/ Users) добавил и заполнил свойства YaMailAddress и YaPassword (ящик на Яндексе живой)

вызываю mySendMail('мне@mail.ru','Alice', 'тест', 'проба письма');
по прежнему не работает:(

я неправильно установил модуль, или функцию разместил в неположенном месте?
Последний раз редактировалось mit Ср сен 12, 2018 10:42 am, всего редактировалось 1 раз.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Почта не отправляется - SendMail не работает!

Сообщение xor » Ср сен 12, 2018 9:37 am

Вот, кажется, всё по шагам расписал, готовый файл приложил, а всё равно сделают по-своему и потом говорят, что не работает)))
Двое написали - распаковать, зачем через маркет устанавливать?
Откуда я знаю, что вы в таком случае в сценарий скопировали?

Отправлено с моего Redmi 4X через Tapatalk


mit
Сообщения: 12
Зарегистрирован: Пт июл 13, 2018 6:29 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Почта не отправляется - SendMail не работает!

Сообщение mit » Ср сен 12, 2018 11:51 am

не ругайтесь сильно, первый раз делаю и не совсем понятна структура с окружением. Под распаковать сначала понял действие в маркете :)
Удалил из маркета установленное.
Проверил по шагам, вроде всё сейчас выполнено по инструкции. Систему перезагрузил, компьютер перезагрузил.
В консоли набираю mySendMail('мойящик@мояпочта.ага','Alice', 'тест', 'проба письма');
неизвестная команда.
а MD автоматом понимает все функции всех файлов php из C:\_majordomo\htdocs\lib\?
Последний раз редактировалось mit Ср сен 12, 2018 6:59 pm, всего редактировалось 1 раз.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Почта не отправляется - SendMail не работает!

Сообщение xor » Ср сен 12, 2018 5:49 pm

Если бы вы распаковали файл my_funcs.php в lib все бы функции из него были бы доступны в МЖД, в том числе и mysendmail. В ней и идет обращение к пхпмэйлеру.

Или даже так не работает?

Отправлено с моего Redmi 4X через Tapatalk




mit
Сообщения: 12
Зарегистрирован: Пт июл 13, 2018 6:29 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Почта не отправляется - SendMail не работает!

Сообщение mit » Ср сен 12, 2018 10:07 pm

да, в том то и интрига что не взлетает. Чистый Win 10 (64). система почти не тронутая с майской установки текущего года. Архив как загружен https://github.com/PHPMailer/PHPMailer/ ... stable.zip так и распакован в C:\_majordomo\htdocs\lib\PHPMailer, полный путь к вызываемому в коде файлу C:\_majordomo\htdocs\lib\PHPMailer\PHPMailerAutoload.php. Файл my_funcs.php распакован в C:\_majordomo\htdocs\lib\ как был в архиве без изменений. Для логинпароля создал объект Sergey (Объекты/ Users) добавил и заполнил свойства YaMailAddress и YaPassword (ящик на Яндексе живой).
перегрузил комп, установил все обновления, перегрузил повторно.
В консоли набираю mySendMail('мойящик@мояпочта.ага','Alice', 'тест', 'проба письма');
неизвестная команда.

зы. Как вставлять картинки в форуме пока не разобрался
Ответить