Лечим WORDPRESS от мегаглюка с неотправкой писем
Сегодня копался в коде и решил поэкспериментировать. в итоге покопался в коде файла
wp-includes/class-phpmailer.php и немного подправил код. везде вместо mail и sendmail написал smtp и задал настройки смтп провайдера. тут приведены только измененные строки (— значит пропуск кода)
var $From = "тут вписал свое мыло";
---
/**
* Method to send mail: ("mail", "sendmail", or "smtp").
* @var string
*/
var $Mailer = "smtp";
---
/////////////////////////////////////////////////
// SMTP VARIABLES
/////////////////////////////////////////////////
/**
* Sets the SMTP hosts. All hosts must be separated by a
* semicolon. You can also specify a different port
* for each host by using this format: [hostname:port]
* (e.g. "smtp1.example.com:25;smtp2.example.com").
* Hosts will be tried in order.
* @var string
*/
var $Host = "smtp.sibmail.ru";
---
/**
* Sets Mailer to send message using SMTP.
* @return void
*/
function IsSMTP() {
$this->Mailer = "smtp";
}
/**
* Sets Mailer to send message using PHP mail() function.
* @return void
*/
function IsMail() {
$this->Mailer = "smtp";
}
/**
* Sets Mailer to send message using the $Sendmail program.
* @return void
*/
function IsSendmail() {
$this->Mailer = "smtp";
}
/**
* Sets Mailer to send message using the qmail MTA.
* @return void
*/
function IsQmail() {
$this->Sendmail = "/var/qmail/bin/sendmail";
$this->Mailer = "smtp";
}
Желаю удачи! Мне помогло. отправка мыла при регистрации и вспоминании паролей, а также о новых комментариях стало чуть дольше, но работает!
Проверил работу на (оригинальном английском, моей сборки русской и русской от maxsite.org) wordpress 2.3 / 2.3.1, а также на wordpress mu 1.3
на новых базах все работает, а на моих двух основных (этот сайт и сайт кота) не хочет упорно, только с плагином wpphpmailer все работает. видно где то в базе что то не нравится, т.к. блоги я там обновлял начиная с 2.0.4 перебрал все версии и что то осталось видно :(
UPD проверил на “блоге кота” – экспортировал все записи в XML , залил в новую базу. теперь почта через SMTP ходит нормально. осталось найти разницу в базе…
UPD2 методом нескольких бэкапов и тестов с отключением плагинов был выявлен нарушитель работы: если включен плагин wp_mail_cyr, то отправка писем с помощью моего “хака” не работает вообще. но стоит только отключить плагин как сразу почта начинает работать вся!!!
Рубрики: Wordpress Метки: Mu, Wordpress, глюки
Распечатать
Связанные записи
62 комментария
Страницы: « 1 2 3 [4] Show All
Трэкбеки и пингбеки
Страницы: « 1 2 3 [4] Show All
Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!


(голосов: 8, средний: 3.75 из 5)

16 сентября 2008 в 7:59 (GMT+6)
@Yury: в моей сборке 2.6.2 поверпак лежит плагин wp-mail-smtp.работает
16 сентября 2008 в 13:48 (GMT+6)
Lecactus, плагин активировал, хост, логин, пароль, настроил. включил смтп авторизацию. тестовое письмо по логу уходит, но на самом деле ничего не получаю на ящик. может у хостинга что-то не так?
16 сентября 2008 в 14:28 (GMT+6)
@Yury: оно уже “не так” если не уходит штатным образом
17 сентября 2008 в 3:41 (GMT+6)
Lecactus, письма стал получать :) зато теперь после одобрения коммента он не пропадает из списка неподтверждённых :) я начинаю любить wordpress
21 июня 2009 в 19:20 (GMT+6)
Может быть не в тему, но когда я поставил wpPHPMailer с отправкой писем проблему решил, но теперь все письма приходят такого вида:
п п п п п я ! п п п п п п !п п п п п п
Как настроить кодировку?
21 июня 2009 в 19:39 (GMT+6)
Пробывал ставить плагин wp_mail Cyrillic, меня кодировку отправяемых писем, но не помогает
16 июля 2009 в 6:39 (GMT+6)
Излечился от этой головной боли установив плагин – WP-Mail-SMTP
20 августа 2009 в 7:33 (GMT+6)
Не отправляется почта ни при регистрации, ни при вспоминании пароля. Пробовал править файл, как тут указано, не помогло. До того пробовал ставить wp-mail-smtp и единственное, где отсылалось – это проверка внутри настроек плагина, но все прочие реально необходимые места, где нужна отправка почты так и не заработали.
Если отключить все плагины и попробовать получить восстановление пароля, то выдается такое сообщение:
При выключении всех плагинов и включении одного только wp-mail-smtp и последующей попытке отослать восстановление, выдается то же сообщение, но тестовое письмо из настроек плагина продолжает отправляться.
Подскажите, плз, куда копать?
9 октября 2009 в 18:14 (GMT+6)
собственно по моему опыту этот мега глюк лечиться созданием на сервере почтового ящика вида:
webmaster@domain.ru
после этого почта начинает отправляться и ошибка перестает возникать.
(где то еще видел про создание ящика вида wordpress@domain.ru но мне не пригодилось)
4 марта 2010 в 11:04 (GMT+6)
А на локальном сервере будет работать отправка писем или только на удаленном сервере это возможно? И еще у меня проблема с отправкой комментариев к заметкам… Где можно про это спросить?…
19 марта 2010 в 13:34 (GMT+6)
Сделал, как написано. Помогло. Спасибо большое.
локальный сервер. Версия WP 2.9.2
З.Ы: сейчас бы еще понять, как сделать адрес отправителя не wordpress@domain.ru, а, на пример, admin@domain.ru
14 апреля 2010 в 17:49 (GMT+6)
Во-во, как сделать так, что бы писмо приходило не от WordPress, а от Администрации, например?
14 апреля 2010 в 17:50 (GMT+6)
Уже весь интернет перерыл.
19 сентября 2010 в 17:33 (GMT+6)
Попробовал отредактировать этот файл, так же попробовал 2 указаных палгина в комментах, так ни чего и не помогло, при регистрации блога, не приходят сообщения с активацией. Сервер свой, версия wp 2.7.1 Если кто понимает в чём причина помогите, готов принять помощь за небольшое вознаграждение.. =)
8 октября 2010 в 18:27 (GMT+6)
Очень хорошо справляется с этим неприятным глюком WP, простой плагин . Настраивается очень легко, вопрос с неотправкой писем отпал, ковырять код нигде не надо. Плагин не “раскрученный”, без наваротов, скромно делает свою работу.
26 ноября 2010 в 3:25 (GMT+6)
А что мне делать, если я уже забыла свой пароль и не могу войти в вордпресс, хостинг оплатила после того, как забыла пароль, и в общем-то сейчас пароль не присылается??
Помогите, пожалуйста!
26 ноября 2010 в 4:11 (GMT+6)
Поменяла код, как у тебя написано, и вот что мне выдал вордпресс:
“Сообщение не удалось отправить.
Возможная причина: сервер не поддерживает функцию mail()…”
Что делать?=(
18 декабря 2010 в 4:14 (GMT+6)
После внесения всех правок по твоей инструкции WP продолжает отдавать мне эту же ошибку:
Сообщение не удалось отправить.
Возможная причина: сервер не поддерживает функцию mail()…
11 октября 2011 в 11:38 (GMT+6)
не у всех есть smtp ) но оно и не нужно, как выяснилось.
у меня почта заработала после указания несуществующей почты, но на существующем хосте. До этого молча не отправлялось.
...
public $From = 'noreply@[тут был мой сайт].ru';
...