PHP yang merupakan bahasa pemrograman favorit saya saat ini, selain dapat menangani urusan pembuatan file PDF, baca tulis file CSV maupun DBF, juga memiliki kemampuan penanganan email. Salah satunya adalah untuk berkirim email. Berikut ini contoh sederhana program php untuk mengirim email. Contoh program terdiri dari 2 (dua) file dimana file yang pertama merupakan class sederhana bernama Mailer yang saya buat untuk mengatur pengiriman file. Sementara pada file yang kedua merupakan contoh penggunaan class Mailer untuk mengirimkan pesan ke email tujuan. Pesan dituliskan melalui sebuah form sederhana.

Nama File: Mailer.class.php

  1. <?php
  2. /*
  3. Class name : Mailer
  4. Description : Class for handling sending an email
  5. Author : Achmad Solichin (http://achmatim.net)
  6. */
  7.  
  8. class Mailer {
  9. // declare private attributes
  10. private $from;
  11. private $subject;
  12. private $to = array();
  13. private $cc = array();
  14. private $bcc = array();
  15. private $message;
  16. public $error;
  17. // Class constructor
  18. public function __construct($from, $to, $subject, $message) {
  19. $this->from = $from;
  20. $this->to = $to;
  21. $this->subject = $subject;
  22. $this->message = $message;
  23. }
  24. // accessor functions
  25. public function __set($name, $value) {
  26. $this->$name = $value;
  27. }
  28. public function __get($name) {
  29. return $this->$name;
  30. }
  31.  
  32. public function send_mail() {
  33. if (!empty($this->to) && count($this->to) > 0) {
  34. $destination = implode (',',$this->to);
  35. }
  36. $headers = 'MIME-Version: 1.0' . "\r\n";
  37. $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  38. if (!empty($this->to)) {
  39. $headers .= 'From: '. $this->from . "\r\n";
  40. }
  41. if (!empty($this->cc) && count($this->cc) > 0) {
  42. $headers .= 'Cc: ';
  43. $headers .= implode (',',$this->cc);
  44. $headers .= "\r\n";
  45. }
  46. if (!empty($this->bcc) && count($this->bcc) > 0) {
  47. $headers .= 'Bcc: ';
  48. $headers .= implode (',',$this->bcc);
  49. $headers .= "\r\n";
  50. }
  51.  
  52. if(mail($destination, $this->subject, $this->message, $headers)) {
  53. return true;
  54. } else {
  55. $this->error = 'Server cannot sending mail.';
  56. return false;
  57. }
  58. }
  59. }
  60. ?>

Nama File: send_mail.php

  1. <html>
  2. <head><title>Aplikasi Kirim Email dengan PHP</title></head>
  3. <body>
  4. <h1>Demo Aplikasi Kirim Email dengan PHP</h1>
  5. <form action="" method="post">
  6. <table width="100%">
  7. <tr>
  8. <td width="150">Pengirim: </td>
  9. <td><input type="text" name="pengirim" size="40"/></td>
  10. </tr>
  11. <tr>
  12. <td>Penerima: </td>
  13. <td><input type="text" name="penerima" size="40"/></td>
  14. </tr>
  15. <tr>
  16. <td>Judul: </td>
  17. <td><input type="text" name="judul" size="40"/></td>
  18. </tr>
  19. <tr>
  20. <td>Pesan: </td>
  21. <td>&nbsp;</td>
  22. </tr>
  23. <tr>
  24. <td colspan="2"><textarea cols="58" rows="10" name="pesan"></textarea></td>
  25. </tr>
  26. <tr>
  27. <td>&nbsp;</td>
  28. <td><input type="submit" name="Send" value="Send"/><input type="reset" name="reset" value="Cancel"/></td>
  29. </tr>
  30. </table>
  31. </form>
  32.  
  33. <?php
  34. include "Mailer.class.php";
  35. if (isset($_POST['Send'])) {
  36. $pengirim = $_POST['pengirim'];
  37. $penerima = $_POST['penerima'];
  38. $judul = $_POST['judul'];
  39. $pesan = $_POST['pesan'];
  40.  
  41. if ($pengirim=='') {
  42. die("Pengirim harus diisi");
  43. }
  44.  
  45. $mailer = new Mailer($pengirim,$penerima, $judul, $pesan);
  46. $mailer->send_mail();
  47. }
  48. ?>
  49. </body>
  50. </html>

Semoga contoh program singkat ini berguna. Maju terus ilmu pengetahuan Indonesia!

Popularity: 10% [?]