每天发空邮件,怎么阻止?

时间:2018-08-10 作者:Jarvis Pujol

我有一个带有页面模板的页面,该页面模板通过post方法接收数据(数据在支付网关中处理,并将响应发送到wordpress)。该数据在模板中处理,创建一个html文档,该文档通过电子邮件发送,作为使用wp\\u mail()功能的消息正文,如果用户执行该过程,则会正确生成和发送电子邮件,即使有附件,用户也会收到一个版本,相应的员工也会收到另一个版本,问题是员工每天都会收到空邮件,我想知道如何避免这种情况?这就是我发送邮件的方式

$subject = "Payment Options";
$headers = "MIME-Version: 1.0\\r\\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\\r\\n";
$headers .= "Return-Path: <[email protected]>"."\\n";
$message = "builded HTML"; 

function ejr_email_desde ($email) {
    return "[email protected]";
    }

add_filter ("wp_mail_from", "ejr_email_desde");

$attach = array(\'path to attached files\');
$sent = wp_mail("[email protected]", $subject, $message,$headers, $attach);
wp_mail("[email protected]", $subject, $message,$headers, $attach);
wp_mail("[email protected]", $subject, $message,$headers, $attach);
wp_mail("[email protected]", $subject, $message,$headers, $attach);
wp_mail("[email protected]", $subject, $message,$headers, $attach);


$subject = "Subject";
$headers .= "MIME-Version: 1.0\\r\\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\\r\\n";
$message = "The builded HTML"; 
$attachments = array(\'path to attachment\');

wp_mail(\'client@email\', $subject, $message,$headers,$attachments); 
这是空的htmlenter image description here

当用户执行该过程时,字段填写正确,我想要的是避免生成没有数据的电子邮件

1 个回复
最合适的回答,由SO网友:WebElaine 整理而成

快速检查以确保$_POST 付款变量存在且不为空。

所以在文件的顶部

if(!empty($_POST[\'paymentinfovariable\'])) {
    // put all your current code here
    // that way POST info is only processed, and email is only sent,
    // if your required variable has been properly POSTed.
} else {
// redirect to the homepage
    wp_redirect( home_url() );
    exit;
}
这样,如果缺少所需的post变量(即某人正在访问URL),他们将被重定向到主页,并且不会发送电子邮件。您可以进一步检查发布的变量是否具有正确的格式、是否来自正确的引用域等,以进一步保护您的安全。

你可能还应该查看你的网站地图——人们(或机器人)点击这个页面是有原因的,这可能很简单,只要用你正在使用的任何SEO插件将你的网站地图设置为meta-noindex即可。

结束

相关推荐

Contact form sender email

我在Google上花费了大量的时间,却找不到解决方案。我正在使用Wordpress,我想找到一些插件或任何其他解决方案,可以做到以下几点:当用户在我的网站上发送联系人表单时,我会在我的Gmail上收到它,但发件人电子邮件是默认的Wordpress电子邮件。我想如果发件人的电子邮件可以是他们在联系表格中输入的电子邮件地址。所以,如果[email protected]给我发一份联系表格,如果我能收到[email protected],而不是来自[email protected].我希望这可以通过这样或那样的方式