BuddyPress.. проблема с почтой.. решил :)
На очередную проблему с BuddyPress убил очередные две ночи
иногда хочется плакать над теми кто занимается разработкой бесплатного ПО за ЗП
При отправке сообщения от одного пользователя к другому, в BuddyPress следующий механизм:
- Отправить сообщение в БД со всеми необходимыми атрибутами
- Если в настройка пользователя получателя есть «Оповещения о сообщениях» – отправить письмо, и самое ужасное – дождаться ответа от почтового сервера! А тут могут быть проблемы – почтовый сервер может не отвечать или отвечать с кодом.. а пока BuddyPress не поймет, что письмо ушло – к 3-му пункту он не перейдет
- Выдать пользователю отправителю «Сообщение отправлено»
Какие проблемы мы можем получить?
- Не получим сообщение «Сообщение отправлено»
- Пользователь отправитель нажмет очень много раз на кнопку «Отправить» – получим море одинаковых писем в ящике пользователя получателя
Если Вы используете на своем сервере Sendmail, то есть небольшой фикс:
В файле pluggable.php (папка WP MU – wp-includes) найдите строчки:
// Set to use PHP's mail()$phpmailer->IsMail();
Замените на:
// Set to use PHP's mail()$phpmailer->IsSendmail();
зы: способ нагуглил (спасибо Jennifer с сайта scriptygoddess.com) и поделился
а для тех у кого другие сервера – другие фиксы или вариант использовать phpmailer
Проблема самого WordPress MU, но ощущается именно в BuddyPress (и нет только при отправке сообщений, но и при всех действия – где требуется отправить «оповещение»)
Очень надеюсь, что разработчики BuddyPress исправят алгоритм и исключат возможность возникновения такого рода проблем при проблемах с почтой.. ведь сообщение ушло в БД и можно говорить о том, что оно отправлено..
Связанные публикации:
Рубрики: CMS, UNIX · Теги: buddypress, mu, wordpress, почта


