Web development basic and advance tutorial, php basic tutorial, laravel basic tutorial, React Native tutorial

Saturday, August 10, 2019

PHP how to send email

0 comments

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.

<html>
    <head>
      <title>PHP how to send email</title>
   </head>
    <body>

        </body>
</html>

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.



click on the Email account then click on the Create Button :



after create the button. then you can see this image. follow this instruction.



// here need to create contactpage.php

 <?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"]));
   }
?>






No comments:

Post a Comment