Site icon Hip-Hop Website Design and Development

How to send automatic response after form submission without plugin

I create an ajax form and I well received the email.

Now, I just want to do like CF7, send an automatic response to the sender to notify him that I well received the form. Which function used or which hook ?
Apart from Reply_to with Headers of wp_mail I didn’t find any solution to send confirmation or notification.

Anybody can fill the form.

Here php code to send the form :

function mail_form(){


if ( ! wp_verify_nonce( $_POST['nonce'], 'ajax-nonce' ) && ! isset( $_POST[ 'formFields' ] ) ) {
     die ( 'ERREUR!');
 }else{
    parse_str( $_POST[ 'formFields' ], $formInfos );
    
    $name = wp_strip_all_tags($formInfos['name_mailform']);
    $adress = wp_strip_all_tags($formInfos['adress_mailform']);
    $subject = sanitize_email($formInfos['subject_mailform']);
    $message = nl2br(stripslashes(wp_kses($formInfos['message_mailform'], $GLOBALS['allowedtags'])));
    
    
    $to = 'monemail@mail.com';
    $subject = 'Question/Demande' . $subject ;
    $body = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Assistance</title>
</head>
<body style="margin: 0;padding: 0;min-width: 100% !important;background:#D9D08A;">
<table width="100%"  border="0" cellpadding="10" cellspacing="0" class="bgColor"><tr><td>
<table class="content" align="center" cellpadding="0" cellspacing="0" border="0"><tr><td>
<div class="project floatL"><img src="https://www.monsite.com/wp-content/uploads/logo-titre-black.png" class="lgo">
<div class="subtitle_logo">Question pour </div>
        </div>
        <div class="ref_destinataire floatR">
          <img src="logo.png" class="lgo"><span class="title_activity"><br /> Activity</span>
        </div>
      </td>
    </tr>
    <tr>
      <td>
        <div class="title_para"> Le message </div>
        <div class="info_contact">' . $message .'</div>
                         <div class="title_para">Informations de l'expediteur :</div>
        <div class="info_contact">'. $name .'</div>
        <p class="info_contact">'. $adress .'</p>
        <p class="why_mail" >Cet email vous a été envoyé car ...</p>
        
                        
      </td>
    </tr>
                
  </table>
          
</td></tr>
</table>
</body>
</html>';
add_filter( 'wp_mail_from_name', function( $name ) {
        return 'MonSite';
    } );
    add_filter( 'wp_mail_from', , function( $name ){
        return 'monsite@domain.com';
    }
    $headers = array('Content-Type: text/html; charset=UTF-8');
    
    

    wp_mail( $to, $subject, $body, $headers );
    

    
    // Envoi de l'email
    /*add_filter('wp_mail_content_type', create_function('','return "text/html";'));
    
    if(wp_mail('monsite@domain.com', '[monSite] Bonjour', $mail, $headers)){
        wp_send_json('success');
    }else{
        wp_send_json('error');
    }       
    */
}
die();
}

Javascript code :

$(document).on('submit','.w-sender',function(e){
            e.preventDefault();
            var error = false,
                form = $(this).closest('form'),
                busy = null;
            
            
            var formSerialize = form.serialize();
            if(!error){
                if (busy)
                    busy.abort();
                
                busy = $.ajax({
                    url : ajaxSender.ajax_url,
                    data : {
                        action : 'mail_form',
                        nonce: ajaxSender.nonce,
                        formFields : formSerialize,
                    },
                    type : 'POST',
                    success : function(response){
                            $('.w-sender').addClass('sender_bg_success');
                            $('.v-sender').addClass('dnone-i');
                            $('.v-sender').detach().appendTo('#c0-global');
                            $('.close-sender').remove();
                            $('.mailForm_container').replaceWith("<div class='success_mailForm'>Parfait ! </div>");
                            setTimeout(function() {
                                form.remove();
                            }, 4000);
                    },
                    error : function(response){  
                
                    }
                  })
            }
            return false;
        });