Страница 6 из 7
Re: Почта не отправляется - SendMail не работает!
Добавлено: Пт сен 07, 2018 11:52 pm
xor
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 "Письмо отправлено";
}
}
Re: Почта не отправляется - SendMail не работает!
Добавлено: Пн сен 10, 2018 5:20 pm
mit
Спасибо за ответ. Можно ещё вопрос - где можно почитать, как установить решение с GitHub и писать функцию нужно в сценарии?
Re: Почта не отправляется - SendMail не работает!
Добавлено: Вт сен 11, 2018 6:16 am
nick7zmail
Скачать, распаковать, в скрипте в строке reauire прописать путь куда распаковали. В некоторых случаях требуются доп действия со всякими там compoiser-ами или как их там...но я думаю это не тот случай))
Re: Почта не отправляется - SendMail не работает!
Добавлено: Ср сен 12, 2018 1:33 am
xor
mit писал(а): ↑Пн сен 10, 2018 5:20 pm
Спасибо за ответ. Можно ещё вопрос - где можно почитать, как установить решение с GitHub и писать функцию нужно в сценарии?
Да, скачиваете с Гитхаба архив,разархивируете в папку \lib\PHPMailer, туда же, в lib кладёте файл с пользовательскими функциями (my_funcs.php),
там у меня настройки для Яндекса, правите два свойства под свои (или даже прям в тексте функции можете вбить свой логин/пароль текстовой строкой))). Не помню, надо рестартовать мжд. Наверное, надо.
В консоли проверить отправку себе на ящик
mySendMail('мойящик@мояпочта.ага','Alice', 'тест', 'проба письма');
должно прийти Письмо отправлено, ну и ящик проверить.
Потом можно в сценариях там пользоваться
Re: Почта не отправляется - SendMail не работает!
Добавлено: Ср сен 12, 2018 1:35 am
xor
- 2018-09-12_01-16-31.png (17.01 КБ) 5012 просмотров
Блин, как сдесь коряво неск. вложений вставляются!
Иметь файл со своими функциями удобнее, при старте мжд они автоматом становятся доступными везде в системе. А так да, можно в своем скрипте только свою функцию определить.
ps/ при правке my_funcs.php только кодировку не повредить желательно utf-8 без bom
Re: Почта не отправляется - SendMail не работает!
Добавлено: Ср сен 12, 2018 9:21 am
mit
Скачал сначала
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', 'тест', 'проба письма');
по прежнему не работает:(
я неправильно установил модуль, или функцию разместил в неположенном месте?
Re: Почта не отправляется - SendMail не работает!
Добавлено: Ср сен 12, 2018 9:37 am
xor
Вот, кажется, всё по шагам расписал, готовый файл приложил, а всё равно сделают по-своему и потом говорят, что не работает)))
Двое написали - распаковать, зачем через маркет устанавливать?
Откуда я знаю, что вы в таком случае в сценарий скопировали?
Отправлено с моего Redmi 4X через Tapatalk
Re: Почта не отправляется - SendMail не работает!
Добавлено: Ср сен 12, 2018 11:51 am
mit
не ругайтесь сильно, первый раз делаю и не совсем понятна структура с окружением. Под распаковать сначала понял действие в маркете
Удалил из маркета установленное.
Проверил по шагам, вроде всё сейчас выполнено по инструкции. Систему перезагрузил, компьютер перезагрузил.
В консоли набираю mySendMail('мойящик@мояпочта.ага','Alice', 'тест', 'проба письма');
неизвестная команда.
а MD автоматом понимает все функции всех файлов php из C:\_majordomo\htdocs\lib\?
Re: Почта не отправляется - SendMail не работает!
Добавлено: Ср сен 12, 2018 5:49 pm
xor
Если бы вы распаковали файл my_funcs.php в lib все бы функции из него были бы доступны в МЖД, в том числе и mysendmail. В ней и идет обращение к пхпмэйлеру.
Или даже так не работает?
Отправлено с моего Redmi 4X через Tapatalk
Re: Почта не отправляется - SendMail не работает!
Добавлено: Ср сен 12, 2018 10:07 pm
mit
да, в том то и интрига что не взлетает. Чистый 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', 'тест', 'проба письма');
неизвестная команда.
зы. Как вставлять картинки в форуме пока не разобрался