Intereting Posts
Мне нужен пользовательский вход в WordPress, кто-нибудь может мне помочь? Загрузка файла WP Ajax FormData по двум выбранным файлам всегда возвращает ноль Phpmyadmin – редактирование сообщений Показывать определенный контент в родительском настраиваемом типе сообщений и всех дочерних Пропустить ошибку admin_notices на странице «Быстрое редактирование» / save_post Попытка обернуть <span> вокруг первого слова нескольких строк слова с помощью фильтра widget_title (), работает только на двух словарных строках и не более двух Переименование проблемы wp_content Сравнение времени с the_time (); Постоянная ссылка с привязкой на главной странице на одну страницу Подключить создание сайта MU Отображать пользовательский тип сообщения по пользовательской таксономии shortcode для создания динамических раскрывающихся списков с атрибутами shortcode Как стилизовать первый пост по-разному с помощью 'get_template_part'? Использование spl_autoloading в плагине WordPress Сохранение пользовательского интерфейса jQuery Sortable на WordPress

wp_email не отправляет почту в субдомену из нескольких доменов

У меня есть multisite enabled wordpress configurtaion, который говорит, что мой основной домен – http://www.example.com . Он имеет несколько поддоменов, таких как http://test1.example.com , http://test2.example.com и т. Д.

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

$headers[] = 'Content-Type: text/html; charset=UTF-8'; wp_mail('user@example.com', 'Test','Test', $headers); 

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

FYI, user@example.com является зарегистрированным пользователем, скажем, http://test1.example.com, и он отправляет некоторую информацию на своей странице поддомена: http://test1.example.com/information-form, и я хотел отправить эту информацию по электронной почте этого пользователя.

EDIT: Сценарии:

  1. У меня есть форма, которая имеет несколько полей ввода.
  2. Пользователи заполняют его и отправляют, используя ajax значения, переданные в файл функций.
  3. Существует add_action('wp_ajax_xxx', 'myFunction'); перетащить на страницу функций (Пользователь вошел в систему)
  4. В myFunction указан вышеупомянутый код.

Наконец, я выяснил причину и решение моей проблемы выше. Когда я пытаюсь отправить электронное письмо в поддомену, скажем http://test1.example.com , без wp_mail() Из адреса электронной почты в заголовке сама функция wp_mail() устанавливает адрес электронной почты From как support@test1.example.com который является недопустимым и поэтому письмо не было отправлено. Поэтому, чтобы решить эту проблему, я добавил пользовательский вариант From электронной почты до заголовка, как $headers[] = 'From: Sender Name <noreply@example.com>'; который устанавливает действительный адрес электронной почты.

BTW, можно также настроить такие же фильтры, как,

 add_filter('wp_mail_from', function( $email ) { return 'noreply@example.com'; }); add_filter('wp_mail_from_name', function( $name ) { return 'Sender Name'; });