PHP how to send email
In this video tutorial, I will explain. How can you send email from your website?
What is PHP mail function?
PHP mail function is built in function in php. Mail
function is used for sending email. The function required three arguments that
specify the receipt email address.
mail (to, subject, message, header, parameters);
Details Description of this function :
To: To use for
Receiver email.
Subject : Subject is use for Email Subject. This parameter
cannot contain any newline characters.
Message : Defines the message to send email.
Headers : specifies additional headers, LIKE From, Cc
and Bcc. The additional headers should be separated with a CRLF (\r\n)
Parameters: use additional parameter to send email.
Now I’m going to design html page for design.
<head>
<title>PHP how to send email</title>
</head>
<body>
</body>
form design example code here :
<form action="contactpage.php" method="post">
<label for="fname">First Name</label>
<input type="text" id="fname" name="firstname" placeholder="Your name..">
<label for="lname">Last Name</label>
<input type="text" id="lname" name="lastname" placeholder="Your last name..">
<label for="subject">Subject</label>
<textarea id="subject" name="subject" placeholder="Write something.." style="height:200px"></textarea>
<input type="submit" value="Submit">
</form>
before you send email you have create email address in your hosting server. login to your c panel.
after create the button. then you can see this image. follow this instruction.
// here need to create contactpage.php
$to = "info@gmail.com"; // Receiver Email
$subject = "This is subject";
$message = '<b><img src="http://www.thecreativebill.com/img/logo.png"></b>';
$message .= '
<div style="width:30%; background-color:silver; height: auto; padding: 20px;">
<h3>Thanks for Subcribes</h3>
<p>You have been invited to receive email notifications at manirul26@gmail.com when new comments on blog androidstudiotech have been published.<p>
<p>Sincerely, </p>
<p>CEO</p>
<p>dokandar software</p>
</div>
';
$header = "From:support@itechsoftbd.com \r\n"; // send form
$header .= "Cc:support@itechsoftbd.com \r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html\r\n";
$retval = mail ($to,$subject,$message,$header);
if( $retval == true ) {
echo "Message sent successfully...";
}else {
echo "Message could not be sent...";
}
?>
Explanation of the code :
$message: $message variable data showing in the email body.
if you want to attach the file into the email you have follow this code. for sending email.
<?php
//
request variables // important
$from =
$_REQUEST["from"];
$emaila =
$_REQUEST["emaila"];
$filea =
$_REQUEST["filea"];
if
($filea)
{
function
mail_attachment ($from ,
$to, $subject,
$message, $attachment){
$fileatt = $attachment;
// Path to the file
$fileatt_type = "application/octet-stream";
// File Type
$start =
strrpos($attachment,
'/') ==
-1 ?
strrpos($attachment,
'//') :
strrpos($attachment,
'/')+1;
$fileatt_name = substr($attachment,
$start,
strlen($attachment));
// Filename that will be used for the
file
as the attachment
$email_from = $from;
// Who the email is from
$subject = "New Attachment
Message";
$email_subject = $subject;
// The Subject of the email
$email_txt = $message;
// Message that the email has in it
$email_to = $to;
// Who the email is to
$headers = "From: ".$email_from;
$file =
fopen($fileatt,'rb');
$data =
fread($file,filesize($fileatt));
fclose($file);
$msg_txt="\n\n You have recieved a new
attachment message from $from";
$semi_rand =
md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version:
1.0\n" . "Content-Type:
multipart/mixed;\n" .
"
boundary=\"{$mime_boundary}\"";
$email_txt .= $msg_txt;
$email_message .= "This
is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n"
. "Content-Type:text/html;
charset = \"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n"
.
$email_txt
. "\n\n";
$data =
chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}\n"
. "Content-Type:
{$fileatt_type};\n" .
"
name = \"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//"
filename = \"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding:
base64\n\n" . $data . "\n\n"
. "--{$mime_boundary}--\n";
$ok =
mail($email_to, $email_subject, $email_message, $headers);
if($ok)
{
echo
"File Sent
Successfully.";
unlink($attachment); // delete a file after attachment sent.
}else {
die("Sorry but the email could not
be sent. Please
go back and try
again!");
}
}
move_uploaded_file($_FILES["filea"]["tmp_name"],
'temp/'.basename($_FILES['filea']['name']));
mail_attachment("$from", "youremailaddress@gmail.com",
"subject",
"message", ("temp/".$_FILES["filea"]["name"]));
}
?>