wp_mail() не работает на сервере

27 янв. 2014 г., 12:26:36
Просмотры: 20.5K
Голосов: 2

Я ломаю голову уже час, но не могу понять, что не так с моим кодом...

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

Я пробовал использовать PHP Mailer, который работает нормально, но я хочу использовать wp_mail()... вот мой код...

  $from = "abc@gmail.com";
    $headers[] = "From:" . $from;
    $send = wp_mail("myemail@gmail.com", "привет", "привет",$headers);
      if($send) {
          echo "отправлено";
        return false;
       } else {
           echo $send;
        return true;
       }

Может кто-нибудь помочь мне найти мою ошибку... Я тестирую это только на своем сервере...

Заранее спасибо.

2
Комментарии

Вы знаете, что используете $headers и $header с разным написанием? Я не понимаю, чего вы хотите добиться вашим условием. Оно возвращает false, если письмо отправлено?

fischi fischi
27 янв. 2014 г. 12:58:54

$headers и $header — это опечатка... извините за это... а что касается true и false, пожалуйста, проигнорируйте это здесь...

user41362 user41362
27 янв. 2014 г. 13:02:22
Все ответы на вопрос 2
0

Если PHP Mailer работает нормально, у вас настроены такие же учетные данные для wp_mail? Если вы используете аутентифицированный SMTP для PHP Mailer, то, возможно, вам понадобится плагин для настройки аутентификации в wp_mail. Существует несколько разных вариантов, но один из них, например, это https://wordpress.org/plugins/wp-mail-smtp/.

22 апр. 2014 г. 04:31:27
0

Попробуйте использовать $headers как строку и указать имя для email.

$headers = 'From: Ваше Имя <abc@gmail.com>' . "\r\n";

Не забудьте добавить \r\n, как в примере кода выше, если используете строковый вариант.

Если это не сработает, попробуйте использовать wp_mail без дополнительных заголовков и проверьте, работает ли отправка. Должно помочь :)

27 янв. 2014 г. 13:06:12