I have a custom HTML form with input types and checkboxes. When I submit this form I want to send a mail will all the form details from the same php. How do I send the email from WordPress? I am pretty new and would thank for ur help.
wp_mail is the function you are looking for.
You can take the posted form data (
$_POST['email'], for example) and then use it to build and execute the
wp_mail function. The example below was taken from https://developer.wordpress.org/reference/functions/wp_mail/#user-contributed-notes
$to = $_POST['email']; //[email protected] $subject = 'The subject'; $body = 'The email body content'; $headers = array('Content-Type: text/html; charset=UTF-8'); wp_mail( $to, $subject, $body, $headers );
Also the above script would need to check for malicious attacks or bad input from the user but the
wp_mail function will allow you to send email.
If you don't want to write your own code (and the mail form), consider a 'contact form' plugin. I use (and recommend) the Contact Form 7 plugin. It allows you to create any form, customize the look/feel/fields, and the mail that is sent out. Very powerful and popular plugin. Lots of other plugins available to add additional fields.
The only minor issue is sparse and sometimes hard-to-find (and sometimes older) technical documentation (like available filters). But I've worked around that.
One simple way to post a form is to use a form backend service like https://www.formkeep.com
All you have to do is modify the action tag in your form and backend service will store the data and provide ways to integrate data with the other systems.
Here's a sample for how to modify the form html. You would just replace "example token" with a key provided by the formkeep service
<form accept-charset="UTF-8" action="https://formkeep.com/f/exampletoken" method="POST">