2013-11-12 4 views
3

Я использую wordpress с плагином WP Mail SMTP для отправки электронной почты через аутентифицированный SMTP. Теперь я открыл его на SMTP-сервере, чтобы мы могли там ретранслировать, а тестовая почта работает - сообщает true и приходит почта. Однако, если я попытаюсь отправить с помощью wp_mail из моего плагина, это не сработает - wp_mail возвращает false, и письмо не приходит. Я поместил некоторый код отладки в функцию wp_mail, в том числе, что я отлаживаю $e->getMessage() из блока catch в try/catch в самом конце wp_mail (когда он пытается отправить фактическую почту). Это говоритWordpress SMTP mail: тестовая почта работает, но не wp_mail

SMTP Error: Could not authenticate.

Однако, как сказано, тестовые письма работают!

Затем я начал отлаживать объект phpmailer и сравнивать между моим вызовом wp_mail и тем, что для тестовой почты. Я заметил, что защищенный член exceptions был прав для моего, а не для тестовой почты. Похоже, что глобальный phpmailer не существует при входе в wp_mail в моем вызове, поэтому он создается в wp_mail с использованием $phpmailer = new PHPMailer(true) Если я изменяю это значение true на false (т. Е. Устанавливает исключения в false в объекте phpmailer), то не только wp_mail return true, но почта приходит!

Как я могу получить ошибки аутентификации, если я проверяю исключения, но почта все еще прибывает, если я не проверю исключения? Есть идеи?

Я запускаю wordpress 3.7.1 и WP Mail SMTP 0.9.3 в своей среде разработки. Я испытываю те же самые симптомы (тестовая почта работает, но не мои вызовы wp_mail) в wordpress 3.6.1 с версией 0.9.1 плагина

ответ

1

Похоже, что функция Test Email продолжает пытаться отправлять электронную почту, даже если аутентификация выходит из строя. Почтовый сервер, похоже, позволяет мне передавать даже без проверки подлинности, так что тестовая электронная почта проходит. Фактические вызовы wp_mail из моего плагина не выполняются, если аутентификация завершается с ошибкой. Если я вернусь к проверке подлинности SMTP, мои письма также будут работать.

Я думаю, что это ошибка в функциональности тестовой электронной почты, но я возьму это с автором плагина.

+0

После обсуждения с автором плагина это было исправлено в версии 0.9.4 плагина – Adam

Смежные вопросы