Отправка почты через сниппет, ошибка...
Пытаюсь отправить почту через свой сниппет, на сайте настроена почта smtp яндекса… вот код сниппета:
[2013-11-06 06:05:19] (ERROR @ /index.php) Возникла ошибка при отправке Email: SMTP Error: Could not connect to SMTP host.
С чем это может быть связано?
$error=false;
$ok=true;
if(trim($name) == '') { return 'ошибка'; }
if(trim($url) == '') { return 'ошибка'; }
if(trim($to) == '') { return 'ошибка'; }
//return $name.' '.$url.' '.$to;
// Получаем данные юзера и проставляем плейсхолдеры для чанка
$modx->placeholders['name'] = $name;
$modx->placeholders['url'] = $url;
// Кому
$to = $to;
// Тема
if(trim($tema)!="") {
$tema = trim($tema);
} else { return $error; }
// Текст (дёргаем из чанка)
if(trim($text)!="") {
$text = $modx->getChunk(trim($text));
} else { return $error; }
// От кого
$from = "no-reply@adaytravel.kz";
$fromname = "AdayTravel.kz";
if($modx->getOption('mail_use_smtp')) {
$from = $modx->getOption('mail_smtp_user');
}
// Манипуляции отправки
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY, $text);
$modx->mail->set(modMail::MAIL_FROM, $from);
$modx->mail->set(modMail::MAIL_FROM_NAME, $fromname);
$modx->mail->set(modMail::MAIL_SUBJECT, $tema);
$modx->mail->address('to', $to);
$modx->mail->setHTML(true);
if(!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Возникла ошибка при отправке Email: '.$modx->mail->mailer->ErrorInfo);
return $error;
}
$modx->mail->reset();
return $ok;
А вот как вызываю его:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" >
<head>
<base href="[[++site_url]]" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="style.css" />
<title>[[*pagetitle]] - [[++site_name]]</title>
</head>
<body class="printpage" style="margin:20px;">
<div id="content_inner" style="width:400px;">
<div class="content_inner">
<div class="content_inner_header">
<h1 style="float:left; line-height:100%; text-align:left;">Отправить страницу другу</h1>
<div class="clear"></div>
[[mailSend? &to=`[[POST? &post=`mailfriend`]]` &name=`[[POST? &post=`yourname`]]` &url=`[[POST? &post=`url`]]` &tema=`Ваш друг [[POST? &post=`yourname`]] отправил Вам эту страницу` &text=`tpl.mail.sendfriend`]]
</div>
<div class="content_inner_text" id="content_inner_text">
<div>
<form action="[[~[[*id]]]]?id=[[GET? &get=`id`]]" method="post" class="form">
<input type="hidden" name="url" value="[[++site_url]][[~[[GET? &get=`id`]]]]">
<table border="0" width="100%">
<tr>
<td class="webform_title">
<label>Как Вас зовут:</label>
</td>
<td>
<input type="text" name="yourname" class="textinputs" value="">
</td>
</tr>
<tr>
<td class="webform_title">
<label>E-mail друга:</label>
</td>
<td>
<input type="text" name="mailfriend" class="textinputs" value="">
</td>
</tr>
</table>
<br />
<input type="submit" name="submit" value="Отправить" class="webform_submit" />
</form>
</div>
</div>
<div class="clear"> </div>
</div>
</div>
</body>
</html>
В итоге получаю вот такую ошибку в логах:[2013-11-06 06:05:19] (ERROR @ /index.php) Возникла ошибка при отправке Email: SMTP Error: Could not connect to SMTP host.
С чем это может быть связано?
Комментарии: 13
Could not connect to SMTP host
Нужно перевести на русский, или что?
Да нет, у меня торчит в закладках гугл.транслейт… Проблема в другом, мне бы понять, как эту проблему можно решить… настроил всё в точности, как и на другом сайте, на котором этот сниппет работает вполне корректно, но работать здесь отказывается… может это происходить из-за каких-то настроек сервера или что? В интернете искал решение, ничего по-сути найти не удалось.
Такая вот жесть вылезла:
SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport «SSL» — did you forget to enable it when you configured PHP? (-2089234736)
Не пойму что это означает, что-то настроить в php.ini надо или что?)
SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport «SSL» — did you forget to enable it when you configured PHP? (-2089234736)
Не пойму что это означает, что-то настроить в php.ini надо или что?)
Убери из настроек SSL — он не настроен у тебя на сервере.
Убрал, теперь вот такая ошибка:
SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
Поменял порт на 25, всё также, поменял порт на 587, тоже самое. Повысил таймаут с 10 до 30 — аналогичная ошибка.
SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
Поменял порт на 25, всё также, поменял порт на 587, тоже самое. Повысил таймаут с 10 до 30 — аналогичная ошибка.
Может, тебе запрещено обращаться к удаленному серверу?
Попробуй из консоли сервера сделать
Если зайдет, можно дальше написать
Должно получиться вот так:
Попробуй из консоли сервера сделать
telnet smtp.yandex.ru 587
Если зайдет, можно дальше написать
EHLO localhost
Должно получиться вот так:
Вот здесь скрин настроек SMTP — floomby.ru/s2/e44RzQ
а попробуй вот это закоменти
if($modx->getOption('mail_use_smtp')) {
$from = $modx->getOption('mail_smtp_user');
}
будет работать?
Отказывается работать… я помоему разобрался в чём дело, скорее всего это на стороне хостера. Хостером данного сайта является hoster.kz, они там умудрились отключить всяческий способ отправки email, сейчас человек с ними общается по этому поводу, что да как будет ясно — я отпишу сюда.
Здравствуйте!
У меня тоже не работает.
Поставил QuickEmail
Вот что он выдает. * — это я свою почту скрыл.
System Settings (used if property is missing):
emailsender System Setting: ****@***.ru
site_name System Setting: MODX Revolution
Properties (from parameters, property set, or snippet default properties:
Tpl chunk name:
subject:
to:
fromName:
replyTo:
emailSender:
allowHtml: 1
message:
Final Values (actually used when sending email):
subject: Default Subject
to: ****@***.ru
fromName: QuickEmail
replyTo: ****@***.ru
emailSender: ****@***.ru
allowHtml: 1
Message Body: Default Message
Send Failed
Mailer error info: Пожалуйста, введите хотя бы один адрес e-mail получателя.
Server Debug Information:
У меня тоже не работает.
Поставил QuickEmail
Вот что он выдает. * — это я свою почту скрыл.
System Settings (used if property is missing):
emailsender System Setting: ****@***.ru
site_name System Setting: MODX Revolution
Properties (from parameters, property set, or snippet default properties:
Tpl chunk name:
subject:
to:
fromName:
replyTo:
emailSender:
allowHtml: 1
message:
Final Values (actually used when sending email):
subject: Default Subject
to: ****@***.ru
fromName: QuickEmail
replyTo: ****@***.ru
emailSender: ****@***.ru
allowHtml: 1
Message Body: Default Message
Send Failed
Mailer error info: Пожалуйста, введите хотя бы один адрес e-mail получателя.
Server Debug Information:
emailsender должен быть вида например — no_reply@domainname.ru. Проверьте в системных настройках.
От души благодарю! Все заработало! Всего вам самого хорошего и доброго!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.