Last active
May 2, 2022 06:15
-
-
Save karki-dennis/0a8c66f494ee8b0f34c7f02ba76d1119 to your computer and use it in GitHub Desktop.
Send mail using ajax WP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_action( 'wp_ajax_send_email', 'callback_send_email' ); | |
add_action( 'wp_ajax_nopriv_send_email', 'callback_send_email' ); | |
function callback_send_email() { | |
$forms = '[email protected]'; | |
$name = $_REQUEST['name']; | |
$email_add = $_REQUEST['email_add']; | |
$business = $_REQUEST['business']; | |
$business_address = $_REQUEST['business_address']; | |
$url = $_REQUEST['url']; | |
$facebook_url = $_REQUEST['facebook_url']; | |
$source = $_REQUEST['business']; | |
$subject = "[XYZ] Host Interest Form"; | |
$email_body = "XYZ FORM<br><br>" . | |
"Your name: $name. <br>" . | |
"Your email: $email_add. <br>" . | |
"Name of your business/operation: $business. <br>" . | |
"Your address: $business_address. <br>" . | |
"Your website address: $url. <br>" . | |
"Your Facebook address: $facebook_url. <br>" . | |
"How did you hear about Harvest Hosts?: $source. <br>"; | |
$to = "[email protected]"; | |
$headers = "MIME-Version: 1.0" . "\r\n"; | |
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; | |
$headers .= "From: $business <$forms> \r\n"; | |
$headers .= "Reply-To: $email_add \r\n"; | |
$mail = mail( $to, $subject, $email_body, $headers ); | |
} | |
?> | |
<script> | |
jQuery(document).ready(function ($) { | |
//Validate the form filed in next button click. | |
$('#btn-validate').click(function (e) { | |
var first_name = $('#input_name').val(); | |
var email = $('#input_email').val(); | |
var business_add = $('#business').val(); | |
$(".error").remove(); | |
if (first_name.length < 1) { | |
$('#input_name').after('<span class="error">This field is required</span>'); | |
} | |
if (business_add.length < 1) { | |
$('#business').after('<span class="error">This field is required</span>'); | |
} | |
if (email.length < 1) { | |
$('#input_email').after('<span class="error">This field is required</span>'); | |
} else { | |
var regExp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; | |
var validEmail = regExp.test(email); | |
if (!validEmail) { | |
$('#input_email').after('<span class="error">Enter a valid email</span>'); | |
} | |
} | |
var errorClass = $(".first-form").find('.error'); | |
if (errorClass.length < 1) { | |
$(".first-form").hide(); | |
$(".second-form").addClass('visible'); | |
$('#become-host .host-heading').text('A Few More Questions'); | |
$('#host-form__sub-heading p').text('About Your Business'); | |
var name = jQuery('#input_name').val(); | |
var email_add = jQuery('#input_email').val(); | |
var business = jQuery('#business').val(); | |
var business_address = jQuery('#business-address').val(); | |
var url = jQuery('#url').val(); | |
var facebook_url = jQuery('#facebook-url').val(); | |
var source = jQuery('#source').val(); | |
jQuery.ajax({ | |
url: '<?php echo admin_url( 'admin-ajax.php' ); ?>', | |
type: "POST", | |
cache: false, | |
data: { | |
action: 'send_email', | |
name: name, | |
email_add: email_add, | |
business: business, | |
business_address: business_address, | |
url: url, | |
facebook_url: facebook_url, | |
source: source | |
}, | |
success: function (res) { | |
console.log("Email Sent."); | |
} | |
}); | |
} | |
}); | |
}); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment