Mail Scripting :
It is common requirement to have a submit form on almost website.
In this we will create a PHP script that will send an email when a web form is submitted.
There are two parts for the web form:
There are two parts for the web form:
- The HTML code for the form. The html standard form is as bellow.
- The PHP script for handling
the form submission. The script receives the form submission and sends an
email.
HTML
code for the email form:
<form
method="post" name="myemailfrm"
action="form_to_email.php">
Enter
Name: <input type="text" name="name">
Enter
Email Address:<input type="text"
name="email">
Enter
Message: <textarea name="message"></textarea>
<input
type="submit" value="Send Form">
</form>
|
This form is submitted through the POST Method.
|
Accessing the form
submission data in the PHP script:
Once your
website visitor has submitted the form, the browser sends the form submission
data to the script mentioned in the ‘action’ attribute of the form.
Since we
have the form submission method mentioned as POST in the form (method=’post’)
we can access the form submission data through the $_POST[] in the PHP script.
- The following code gets the values submitted for the fields: name, email and message.
<?php
$name
= $_POST['name'];
$visitor_email
= $_POST['email'];
$message
= $_POST['message'];
?>
|
Composing the Email:
Now, we
can use the above PHP variables to compose an email Here is the code:
<?php
$email_from
= 'yourname@yourwebsite.com';
$email_subject
= "Form_Submit";
$email_body
= "You have received a new message from the user $name.\n".
"Here
is the message:\n $message".
?>
|
- The ‘From’ address, the subject and the body of the email is composed in the code above. Note the way the body of the message is composed using the variables.
Sending the email:
- The PHP function to send email is mail().
|
- The headers parameter is to provide additional mail parameters ( like the from address, CC, BCC etc)
Here is
the code to send the email:
<?php
$to
= "yourname@yourwebsite.com";
$headers
= "From: $email_from \r\n";
$headers
.= "Reply-To: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
?>
|
Sending the email to more than one recipients:
If you
want to send the email to more than one recipients, then you just need to add
these in the “$to” variable.
<?php
$to
= "name1@website-name.com,
name2@website-name.com,name3@website-name.com";
mail($to,$email_subject,$email_body,$headers);
?>
Example:
<?php
$to = "name1@website-name.com,
name2@website-name.com,name3@website-name.com";
$headers
= "From: $email_from \r\n";
$headers
.= "Reply-To: $visitor_email \r\n";
$headers
.= "Cc: someone@domain.com \r\n";
$headers
.= "Bcc: someoneelse@domain.com \r\n";
mail($to,$email_subject,$email_body,$headers);
?>
Reference: Html-form-guid.com |