我正在使用wp\\u邮件功能在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的插件通过Gmail的SMTP服务器进行发送。当我禁用此功能时,根本不会发送电子邮件。
出于某种原因,我收到了两封电子邮件。一个具有POST和会话信息,另一个仅具有会话信息。
任何帮助都将不胜感激!提前感谢,
杰米
我正在使用WordPress 3.3
最合适的回答,由SO网友:stealthyninja 整理而成
听起来好像您没有将代码包装到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);
}