联系表格7 - 动态收件人电子邮件

时间:2016-10-10 07:28:38

标签: php email contact-form-7

我试图从自定义字段动态获取收件人电子邮件,并使用字符串替换来修改联系人表单7收件人电子邮件。联系表单正在发送,但似乎没有更改收件人电子邮件,因为我没有收到电子邮件。

League

我正在运行CF7 4.5.1和PHP 5.3 am我在这里遗漏了什么?

2 个答案:

答案 0 :(得分:0)

不清楚您要使用unit标签做什么,但是,这是解决问题的另一种方法,

function wpcf7_dynamic_email_field( $args ) {
    //create a hidden field with your post-id
    $dynamic_email = '';
    if(isset($_POST['post-id']){
      $post_id = $_POST['post-id'];
      $dynamic_email = get_post_meta( $post_id, 'email', true );
    }
    if ( $dynamic_email ) {
        $args['recipient'] = str_replace('emailtoreplace@email.com', $dynamic_email, $args['recipient']);
    }

    return $args;
}

add_filter( 'wpcf7_mail_components', 'wpcf7_dynamic_email_field' );

为了填充邮政编码,您可以在客户端使用javacript进行操作,也可以使用CF7动态文本扩展名在表单加载时将其预先加载(请参见教程enter image description here )。

答案 1 :(得分:0)

要向动态收件人wince WPCF7 5.2发送电子邮件,这是我的方法:

function wpcf7_before_send_mail_function( $contact_form, $abort, $submission ) {

  $dynamic_email = 'email@email.com'; // get your email address...

  $properties = $contact_form->get_properties();
  $properties['mail']['recipient'] = $dynamic_email;
  $contact_form->set_properties($properties);

  return $contact_form;

}
add_filter( 'wpcf7_before_send_mail', 'wpcf7_before_send_mail_function', 10, 3 );