PHP表单在提交后发送多封电子邮件

时间:2017-04-28 07:11:05

标签: php html wordpress forms web

所以我为我的wordpress网站创建了一个PHP表单,因为Contact表单7太重而且速度很慢。

但我在多个'项目上有相同的联系表格。在一个页面上,因此联系表单在一个页面上使用多次。因此,当发件人根据页面上的项目数量点击提交时,表单会发送相同数量的电子邮件...

现在联系表单7在提交时不会发送给我一封电子邮件。所以有一种方法可以做到这一点,我不知道我是PHP的新手。

任何帮助都会很棒。这是我的发送表单代码,但如果您还有其他需要,请告诉我。欢呼伙计们:

// Sending form to admin
    if ($error == false) {
        // Hook to support plugin Contact Form DB
        //do_action( 'name_before_send_mail', $form_data );
        $to = $name_atts['email_to'];

        if ($name_atts['hide_subject'] != "true") {
            $subject = "(".get_bloginfo('name').") " . $form_data['form_subject'];
        } else {
            $subject = get_bloginfo('name');
        }
        $message = $form_data['form_name'] . "\r\n\r\n" . $form_data['form_email'] . "\r\n\r\n" . $form_data['form_message'] . "\r\n\r\n" . sprintf( esc_attr__( 'IP: %s' ), name_get_the_ip() ); 
        $headers = "Content-Type: text/plain; charset=UTF-8" . "\r\n";
        $headers .= "Content-Transfer-Encoding: 8bit" . "\r\n";
        $headers .= "From: ".$form_data['form_name']." <".$form_data['form_email'].">" . "\r\n";
        $headers .= "Reply-To: <".$form_data['form_email'].">" . "\r\n";

        if(wp_mail($to, $subject, $message, $headers) == true) { 
            $result = $name_atts['message_success'];
            $sent = true;
        } else {
            $result = $name_atts['message_error'];
            $fail = true;
        }       
    }

1 个答案:

答案 0 :(得分:0)

可以使用钩子wpcf7_before_send_mail来检查发布的数据,然后发送需要的邮件。