Pathologic
Точнее хостер может сказать почему она не отправляется
Aleksandr
хостер говорит что все нормально
Aleksandr
и не могу понять почему тупейший сниппет с mail() отправляет, а formlister - нет
Pathologic
потому что в сниппете с mail() ты отправляешь без четвертого параметра
Pathologic
то есть не так, как отправляет phpmailer
Pathologic
или пятый параметр, не помню уже
Pathologic
в общем там будет что-то типа -fадрес отправителя
Pathologic
вот с этим адресом у тебя и проблема
Владимир
Можете подсказать почему с антиспам решением https://modx.ru/novosti-i-stati/article/382/ письма не отправляются вообще?
Или есть другие решения против спама (без капчи) ?
Aliaksandr
Ты б для начала простую вещь выяснил, где это письмо пропадает. На этапе вылета от хостера он его банит либо на этапе влета в ящик его не пускает)
Aliaksandr
По моему опыту под 90% ситуаций "должно отправляться, но нет" было из-за кривой информации в return path. Тупой mail() его может и не ставить, а "умный" phpmailer может ставить, да не тот)
Aliaksandr
Мне помнится, что это был не replyTo, а именно Sender
Aleksandr
Aliaksandr
Сильно сомневаюсь, скорее MODxMailer, а это тот же phpmailer
Aleksandr
при включенном debug FormLister вообще никаких ошибок не вываливает в event log
Aleksandr
хоть бы пнул в правильную сторону
Aleksandr
includes/controls/phpmailer оно?
Aliaksandr
Уже б давно залез в код да глянул
Aliaksandr
Вроде в папке lib/Helpers есть немного допиленный вариант для мэйла, как называется не помню
Aleksandr
Aliaksandr
Вот его скорее всего фл и использует
Aleksandr
ищу исходники
Aliaksandr
А не по кор/срц
Aliaksandr
Я первым делом пробую отправить на яндекс, туда обычно все приходит, если хостер не забанит отправку))
Aliaksandr
А то мэйл.ру/гмэйл помешались уже, хотя в итоге спама на них меньше не стало:)
Aleksandr
Aleksandr
я первый раз вообще с такой проблемой столкнулся
Aliaksandr
Aliaksandr
И для второго варианта в яндекс обычно все прилетает, а в гмэйл не все
Aliaksandr
... а через неделю окажется, что просто указан неправильный &to ))
Aleksandr
нет, &to указан правильный
Aleksandr
и валидный
Aleksandr
мое мыло
Aleksandr
а from и replyto как и emailsender - внутренняя почта на хостинге
Aleksandr
отправитель и получатель не меняется
Aleksandr
меняется способ отправки
Aleksandr
через самописный сниппет используя mail() напрямую - все уходит
Aleksandr
используя formlister - вываливается ошибка Message failed to send.
Aliaksandr
Ну значит не повезло)
Aleksandr
понятно
Dmytro
понятно
да залезь в сам формлисстер, посмотри как отправляет и добавь к мейлеру необходимые заголовки
Aleksandr
Dmytro
я просто пропустил весь опус, там отправляется через мейл или смтп?
Aleksandr
Aleksandr
без авторизации
Aleksandr
<?php
function _mail ($from, $to, $subj, $what)
{
return mail($to, $subj, $what,
"Mime-Version: 1.0\n".
"Date: ".date('r')."\n".
"From: $from\n".
"Reply-To: $from\n".
"Content-Type: text/plain; charset=UTF-8\n".
"Content-Transfer-Encoding: 8bit",
sprintf("-oi -f %s", $from)
);
}
dump(_mail ('[(emailsender)]', 'email@gmail.com', '1', 'пишу письмо.'));
Aleksandr
вот сниппет
Aleksandr
он пашет
Aliaksandr
А потом начинают на пятый лень скрины наконец делать, а там аякс, завернутый в иф и разбавленный phx)
Aleksandr
Dmytro
где он лежит?
чесно - хз)) просто поищипо файлам формлистера текст "phpmailer"
Aliaksandr
Сделай то же самое через loadExtension('MODxMailer')
Aleksandr
Dmytro
Aleksandr
Aleksandr
<?php
function _mail ($from, $to, $subj, $what)
{
loadExtension('MODxMailer');
return mail($to, $subj, $what,
"Mime-Version: 1.0\n".
"Date: ".date('r')."\n".
"From: $from\n".
"Reply-To: $from\n".
"Content-Type: text/plain; charset=UTF-8\n".
"Content-Transfer-Encoding: 8bit",
sprintf("-oi -f %s", $from)
);
}
dump(_mail ('[(emailsender)]', 'email@gmail.com', '1', 'пишу письмо.'));
Aleksandr
или так
<?php
loadExtension('MODxMailer');
function _mail ($from, $to, $subj, $what)
{
return mail($to, $subj, $what,
"Mime-Version: 1.0\n".
"Date: ".date('r')."\n".
"From: $from\n".
"Reply-To: $from\n".
"Content-Type: text/plain; charset=UTF-8\n".
"Content-Transfer-Encoding: 8bit",
sprintf("-oi -f %s", $from)
);
}
dump(_mail ('[(emailsender)]', 'email@gmail.com', '1', 'пишу письмо.'));
Aliaksandr
Ты знаешь как пользоваться phpmailer?
Aliaksandr
$mail=$modx->loadExtension('MODxMailer'); возвращает тебе в $mail его объект, в котором уже все есть. Осталось добавить адрес, текст и отправить)
Aleksandr
Aleksandr
надо без $mail
Aleksandr
просто $modx->loadExtension('MODxMailer');
Aleksandr
и далее уже параметры забивать $modx->mail->setFrom("[(emailsender)]", 'First Last');
Aleksandr
ErrorInfo пустую строчку возвращает
Aleksandr
string(0) ""
Aleksandr
это какая-то жесть
Aleksandr
$modx->mail->Sender = "[(emailsender)]";
$modx->mail->addCustomHeader('Sender', "ACME <[(emailsender)]>");
не помогло
Aleksandr
а как вообще увидеть ошибку?
Aleksandr
почему она пустая
Aliaksandr
Ну вот видишь, не только с фл не клеится)
Aliaksandr
Да, с mail я дал маху с телефона, он сам в modx->mail влетает)
Aleksandr
а где конфиг phpmailer'а?
Aleksandr
даже manager/includes/config.inc.php пустой
Pathologic