title: check if email submitted via Contact form 7 exists in my database?
body: <p>When customer submits email via contact form 7, how do I check if email already exists in my database and change notification message to &quot;Your email already exists in our database&quot;</p>
  <p>I try two codes, but dont works</p>
  <pre><code>add_filter( 'wpcf7_validate', 'email_already_in_db', 10, 2 );
  
  function email_already_in_db ( $result, $tags ) {
      // retrieve the posted email
      $form  = WPCF7_Submission::get_instance();
      $email = $form-&gt;get_posted_data('your-email');
      // if already in database, invalidate
      if( email_exists( $email ) ) // email_exists is a WP function
          $result-&gt;invalidate('your-email', 'Your email exists in our database');
      // return the filtered value
      return $result;
  }
  </code></pre>
  <p>and this second opciont dont work too,</p>
  <pre><code>function email_already_in_db ( $result, $tags ) {
      // Retrieve the posted form
      $form  = WPCF7_Submission::get_instance();
      $form_posted_data = $form-&gt;get_posted_data();
  
      // Get the field name that we want to check for duplicates.
      // I added 'unique' to the beginning of the field name in CF7
      // Checking for that with preg_grep
      $unique_field_name = preg_grep(&quot;/unique(\w+)/&quot;, array_keys($form_posted_data));
  
      // $unique_field_name comes back as array so the next three lines give us the key as a string
      reset($unique_field_name);
      $first_key = key($unique_field_name);
      $unique_field_name = $unique_field_name[$first_key];
  
      // Check the form submission unique field vs what is already in the database
      $email = $form-&gt;get_posted_data($unique_field_name);
      global $wpdb;
      $entry = $wpdb-&gt;get_results( &quot;SELECT * FROM wp_cf7_vdata_entry WHERE name LIKE '$unique_field_name' AND value='$email'&quot; );
  
      // If already in database, invalidate
      if (!empty($entry)) {
        $result-&gt;invalidate($field_name, 'Your email: '.$email.' already exists in our database.');
        }
      // return the filtered value
    return $result;
  }
  </code></pre>
  <p>any help? thanks</p>