Cara Kirim Email dari Localhost dengan PHP dan PHPMailer

29 Juni 2019 5.818x
Cara Kirim Email dari Localhost dengan PHP dan PHPMailer

Mengirimkan email ke seseorang dalam suatu project yang dibuat dengan php tidak harus upload projectnya ke server terlebih dahulu, akan tetapi dari local/localhost pun dapat dilakukan.

Bagaimana caranya?

Caranya adalah kita menggunakan bantuan dari plugin PHPMailer. PHPMailer merupakan salah 1 library bantuan yang dapat memberikan kita fitur pengiriman email dari local ke email tujuan pada project yang dibuat.

Saya memberikan contoh langsung dari salah 1 tutorial saya yang berjudul DVD Tutorial Perancangan Website Toko Online/ E-Commerce Responsive Berbasis PHP, MySqli, dan Bootstrap

Baiklah langsung saja tanpa banyak basa-basi lagi, silahkan perhatikan langkah-langkahnya berikut ini:

  1. Download dulu library PHPMailernya disini atau sumber aslinya disini
  2. Perhatikan script dibawah ini:

    <?php
    // Import PHPMailer classes into the global namespace
    // These must be at the top of your script, not inside a function
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;
    
    // Load Composer's autoloader
    require 'vendor/autoload.php';
    
    if(isset($_POST['submit']))
    {
        // Instantiation and passing `true` enables exceptions
        $mail = new PHPMailer(true);
    
        $no_invoice         = $_POST['no_invoice'];
        $nama_pengirim      = $_POST['nama_pengirim'];
        $email              = $_POST['email'];
    
        //Server settings
        // $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      // Enable verbose debug output
        $mail->isSMTP();                                            // Send using SMTP
        $mail->Host       = 'smtp.gmail.com';                    // Set the SMTP server to send through
        $mail->SMTPAuth   = true;                                   // Enable SMTP authentication
        $mail->Username   = 'namaEmailAnda';                     // SMTP username
        $mail->Password   = 'passwordEmailAnda';                               // SMTP password
        // $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;         // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
        $mail->Port       = 587;                                    // TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
    
        //Recipients
        $mail->setFrom('namaemail', 'Percobaan');
        $mail->addAddress($email, $nama_pengirim);     // Add a recipient
        
        $mail->addReplyTo('namaemail', 'Percobaan');
        // $mail->addCC('[email protected]');
        // $mail->addBCC('[email protected]');
    
        // Attachments
        // $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
        // $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
    
        // Content
        $mail->isHTML(true);                                  // Set email format to HTML
        $mail->Subject = 'Konfirmasi Pembayaran dari Localhost';
        $mail->Body    = '<h1>Halo, Admin.</h1> <p>Ada pesanan baru dengan nomor invoice '.$no_invoice.'</p> ';    
    
        if($mail->send())
        {
            echo 'Konfirmasi pembayaran telah berhasil';
        }
        else{
            echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
        }
    }
    else{
        echo "Tekan dulu tombolnya bos";
    }
  3. Silahkan ganti nilai username, password dan addAddress dengan akun yang Anda miliki. 
  4. Akun gmail yang digunakan tidak boleh dilindungi dengan 2 step verification atau lebih baik Anda buat 1 email yang baru tanpa ada pengaturan tambahan lain seperti 2 step verification atau recovery email. Silahkan baca disini untuk tutorialnya: Cara Mengaktifkan Allow Less Secure Apps Access pada Akun Google.
  5. Atau Anda bisa download file source codenya di github disini

Anda juga dapat langsung melihat praktek kodingnya melalui video berikut ini:

 

Silahkan ajukan pertanyaan di kolom komentar apabila menemukan problem saat Anda mencobanya dan semoga bermanfaat.

Referensi

Bagikan

Artikel Terkait

Cara Mudah Install Composer di OS Linux

Cara Mudah Install Composer di OS Linux

Composer adalah sebuah project open source yang dimotori oleh&nbsp;Nils Adermann dan Jordi Boggiano. Project composer ini dihost di github&nbsp;dan we...

Selengkapnya
Cara Install Apache, MySQL, dan PHP di OS Linux (LAMPP)

Cara Install Apache, MySQL, dan PHP di OS Linux (LAMPP)

LAMPP adalah kependekan nama dari Linux, Apache, MySQL, PHP / Perl / Python yang berguna sebagai salah satu komponen dalam pembuatan website. Linux se...

Selengkapnya
Mengetahui Kecepatan dan Pemakaian Internet dengan NetSpeedMonitor pada Windows 10

Mengetahui Kecepatan dan Pemakaian Internet dengan NetSpeedMonitor pada Windows 10

Software ini dapat dibilang sebagai pemberi informasi kepada kita tentang seberapa tinggi kecepatan download dan upload internet yang kita gunakan. So...

Selengkapnya
Cara Install PHP 7.4 dan Versi Lain di Linux Debian 12 Bookworm

Cara Install PHP 7.4 dan Versi Lain di Linux Debian 12 Bookworm

Apakah Anda mengalami kesulitan dalam menginstal PHP di Debian 12? Dengan kebutuhan pengembangan yang terus berkembang, memiliki beberapa versi PHP da...

Selengkapnya