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. Когда я отключу это, никакие электронные письма не отправляются вообще.

По какой-то причине я получаю два письма. У одного есть информация POST AND SESSION, а у другой есть только информация СЕССИИ.

Любая помощь будет принята с благодарностью! Заранее спасибо,

Джейми

Я использую WordPress 3.3

Solutions Collecting From Web of "wp_mail отправляет два письма при использовании после получения данных сеанса"

Похоже, что у вас нет кода, заключенного в оператор 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); }