wp mail отправляет два электронных письма при использовании после получения данных сеанса
Я использую функцию wp_mail для отправки электронных писем в WordPress. Перед запуском функции я извлекаю кучу данных из сеанса и некоторые другие из только что отправленной формы. Например:
$first_name = $_SESSION['first_name'];
$last_name = $_SESSION['last_name'];
$phone_number = $_POST['phone_number'];
$message = $first_name . $last_name . $phone_number;
wp_mail($myemail,"Email sent",$message);
Я использую плагин под названием WP-MAIL SMTP для отправки через SMTP-серверы Gmail. Когда я отключаю это, электронные письма вообще не отправляются.
По какой-то причине я получаю два электронных письма. У одного есть информация о ПОСТЕ И СЕАНСЕ, а у другого есть только СЕАНС информация.
Мы будем очень признательны за любую помощь! Заранее благодарю,
Джейми
Я использую WordPress 3.3
1 answers
Похоже, что у вас нет кода, завернутого в инструкцию if
, которая проверяет, выполняется ли она только в том случае, если форма была фактически отправлена, т.Е. Она запускается при первом просмотре страницы (GET
) и снова при отправке формы (POST
). Вы можете использовать приведенный ниже фрагмент, чтобы убедиться, что электронное письмо отправляется только после отправки формы:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$first_name = $_SESSION['first_name'];
$last_name = $_SESSION['last_name'];
$phone_number = $_POST['phone_number'];
$message = $first_name . $last_name . $phone_number;
wp_mail($myemail,"Email sent",$message);
}