Saturday, May 13, 2017

Tutorial Mengirim Email Mengunakan PHP

tutorial-kirim-email-php
Apabila ingin mengirim email dalam code PHP anda, yang harus dilakukan pertama adalah mengkonfigurasi file php.ini dengan rincian bagaimana code php anda dapat mengirim email. Buka php.ini biasanya ada di bagian [mail function]

Config OS

Penguna Windws harus memastikan bahwa ada dua perintah yanh diberikan, yang pertama SMTP untuk mendefinisikan alamat server dan sendmail_from untuk mendefinisikan alamat email anda sendiri/alamat pengirim.

Berikut tampilan configurasi untuk Windows

[mail function]
; For Win32 only.
SMTP = smtp.secureserver.net

; For win32 only
sendmail_from = webmaster@tutorialspoint.com

Sedangkan untuk penguna Linux hanya perlu mengconfig sendmail_from

[mail function]
; For Win32 only.
SMTP = 

; For win32 only
sendmail_from = 

; For Unix only
sendmail_path = /usr/sbin/sendmail -t -i

List Parameter

Parameter Deskripsi
to Required/Wajib. Untuk Menentukan penerima email
subject Required/Wajib. Untuk menentukan subjek email
message Required/Wajib. Untuk isi dari email yang dikirim
headers Optional/boleh tidak ada. Menentukan header tambahan, seperti From, Cc, dan Bcc.
parameters Optional/boleh tidak ada. Menentukan parameter tambahan ke program kirim email


Contoh kirim email tanpa Attachment

Bila Anda mengirim pesan teks menggunakan PHP maka semua konten akan diperlakukan sebagai teks sederhana. Bahkan jika Anda akan menyertakan tag HTML dalam pesan teks, maka akan ditampilkan sebagai teks sederhana dan tag HTML tidak akan diformat sesuai dengan sintaks HTML. Tapi PHP menyediakan pilihan untuk mengirim pesan HTML sebagai pesan HTML yang sebenarnya.

Berikut contoh mengirim pesan email ke xyz@sistem-informasi.xyz dari zyx@sistem-informasi.xyz dan di Cc ke afgh@somedomain.com

<html>
   
   <head>
      <title>Sending HTML email using PHP</title>
   </head>
   
   <body>
      
      <?php
         $to = "xyz@sistem-informasi.xyz";
         $subject = "This is subject";
         
         $message = "<b>This is HTML message.</b>";
         $message .= "<h1>This is headline.</h1>";
         
         $header = "From:zyx@sistem-informasi.xyz";
         $header .= "Cc:afgh@somedomain.com";
         $header .= "MIME-Version: 1.0";
         $header .= "Content-type: text/html";
         
         $retval = mail ($to,$subject,$message,$header);
         
         if( $retval == true ) {
            echo "Message sent successfully...";
         }else {
            echo "Message could not be sent...";
         }
      ?>
      
   </body>
</html>

Contoh kirim email dengan Attachment

Untuk mengirim email dengan konten campuran diperlukan untuk mengatur header Content-type ke multipart / mixed. Kemudian bagian teks dan lampiran dapat ditentukan dalam batas-batas.

Berikut contoh code php nya

<?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="nn 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.0n" . "Content-Type: multipart/mixed;n" . "
            boundary="{$mime_boundary}"";
         
         $email_txt .= $msg_txt;
   
         $email_message .= "This is a multi-part message in MIME format.nn" . 
            "--{$mime_boundary}n" . "Content-Type:text/html; 
            charset = "iso-8859-1"n" . "Content-Transfer-Encoding: 7bitnn" . 
            $email_txt . "nn";
    
         $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: 
            base64nn" . $data . "nn" . "--{$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"]));
   }
?>

<html>
   <head>
      
      <script language = "javascript" type = "text/javascript">
         function CheckData45() {
            with(document.filepost) {
               if(filea.value ! = "") {
                  document.getElementById('one').innerText = 
                     "Attaching File ... Please Wait";
               }
            }
         }
      </script>
      
   </head>
   <body>
      
      <table width = "100%" height = "100%" border = "0" 
         cellpadding = "0" cellspacing = "0">
         <tr>
            <td align = "center">
               <form name = "filepost" method = "post" 
                  action = "file.php" enctype = "multipart/form-data" id = "file">
                  
                  <table width = "300" border = "0" cellspacing = "0" 
                     cellpadding = "0">
       
                     <tr valign = "bottom">
                        <td height = "20">Your Name:</td>
                     </tr>
                     
                     <tr>
                        <td><input name = "from" type = "text" 
                           id = "from" size = "30"></td>
                     </tr>
                     
                     <tr valign = "bottom">
                        <td height = "20">Your Email Address:</td>
                     </tr>
                     
                     <tr>
                        <td class = "frmtxt2"><input name = "emaila"
                           type = "text" id = "emaila" size = "30"></td>
                     </tr>
                     
                     <tr>
                        <td height = "20" valign = "bottom">Attach File:</td>
                     </tr>
                     
                     <tr valign = "bottom">
                        <td valign = "bottom"><input name = "filea" 
                           type = "file" id = "filea" size = "16"></td>
                     </tr>
                     
                     <tr>
                        <td height = "40" valign = "middle"><input 
                           name = "Reset2" type = "reset" id = "Reset2" value = "Reset">
                        <input name = "Submit2" type = "submit" 
                           value = "Submit" onClick = "return CheckData45()"></td>
                     </tr>
                  </table>
                  
               </form>
               
               <center>
                  <table width = "400">
                     
                     <tr>
                        <td id = "one">
                        </td>
                     </tr>
                     
                  </table>
               </center>
               
            </td>
         </tr>
      </table>
      
   </body>
</html>

Sumber: TutorialsPoint.com


EmoticonEmoticon