Mengirim email dengan PHP - Gmail - PHPMailer

Antefer.web.id
0 Comments

Pada waktu lalu saya membuat sebuah tutorial tentang "Membuat aplikasi registrasi dengan aktivasi email menggunakan PHP". dan banyak yang sudah mencoba turorial ini tapi selalu gagal mengirim email jika mencobanya di webserver local (xampp, kemungkinan PHP mail() belum aktif). Ada beberapa alternatif yang dapat digunakan untuk mengirim email dengan php secara aman dari localhost (xampp) yaitu dengan menggunakan gmail sebagai SMPT server.
Berikut langkah-langkahnya :

Langkah 1 :

1. Terlerbih dulu kita harus memiliki akun di GMAIL
2. Untuk mencoba, pastikan akun Gmail anda tidak memiliki verifikasi 2 langkah

Langkah 2 :

  1. Aktifkan socket SSL di PHP (kalau belum aktif), caranya buka php.ini,
  2. hilangkan tanda " ; " pada extension=php_openssl.dll
  3. Kemudian restart Apache webserver.


Langkah ke 2 :

Download PHPmailer disini. Di dalam projek PHPmail ada 3 ffile yang dibutuhkan yaitu : PHPMailer.php , Exception.php, SMTP.php. copy 3 file tersebut dalam projek anda.

Untuk contoh penggunaan class.phpmailer.php sebagai berikut :

<?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;
    
    require_once __DIR__ . '/Exception.php';
    require_once __DIR__ . '/PHPMailer.php';
    require_once __DIR__ . '/SMTP.php';

    $mail = new PHPMailer(true);
    try {
    // Server settings
    $mail->SMTPDebug = SMTP::DEBUG_SERVER; // ini diisi "SMTP::DEBUG_SERVER;" jika ingin melihat hasil debuh pengiriman email
    $mail->isSMTP(); // jika menggunakan protokol SMTP
    $mail->Host = 'smtp.gmail.com';  //isi Dengan SMTP GOOGLE
    $mail->SMTPAuth = true; //Menggunakan SMTP Autentikasi
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; //menggunakan enkripsi
    $mail->Port = 587; //port submission smtp.google.com

    $mail->Username = 'example@gmail.com'; // Alamat Gmail anda, untuk mencoba pastikan verifikasi 2 langkah tidak aktif diemail anda
    $mail->Password = 'YOUR_GMAIL_PASSWORD'; // password gmail anda

    
    $mail->setFrom('example@gmail.com', 'Sender Name'); // isi pengirim disini
    $mail->addAddress('phppot@example.com', 'Receiver Name'); //isi penerima disini
    $mail->addReplyTo('example@gmail.com', 'Sender Name'); // untuk set header reply to

    
    $mail->IsHTML(true); // jika ingin email berisi scrip HTML
    $mail->Subject = "Send email using Gmail SMTP and PHPMailer"; //subjek email
    $mail->Body = 'Halaoo Gmail ini adalah isi email HTML'; //isi email yang berisi script HTML
    $mail->AltBody = 'Haloo Gmail, ini adalah isi non HTML'; //isi email jika tidak menggunakan Script html

    $mail->send();
    echo "Email berhasil terkirim.";
    } catch (Exception $e) {
          echo "Pengirimnan gagal. Mailer Error: {$mail->ErrorInfo}";
    }
?>

Tetapi sebelum di eksekusi diedit dulu ya !!! yang perlu di edit adalah :
$mail->Username   = "username_anda@gmail.com"; ->isi dengan akun gmail anda
$mail->Password   = "password_anda"; ->isi dengan password akun gmail anda
$mail->SetFrom('username_anda@gmail.com', 'Nama Anda'); -->isi dengan username gmail dan nama anda
$mail->AddAddress($address, "sesuatu"); //masukkan nama penerima tujuan
$mail->IsHTML(true); // jika ingin email berisi scrip HTML
$mail->Subject = "Send email using Gmail SMTP and PHPMailer"; //subjek email
$mail->Body = 'Halaoo Gmail ini adalah isi email HTML'; //isi email yang berisi script HTML
$mail->AltBody = 'Haloo Gmail, ini adalah isi non HTML'; //isi email jika tidak menggunakan Script html

Jika setting benar dan email terkirim (cek email masuk dan cek juga spam folder), maka akan muncul script seperti dibawah ini:

Demikian sedikit tutorial tentang mengirim email dengan PHP, PHPMailer menggunakan GMAIL sebagai SMTP Server. Mungkin bisa dijadikan referensi untuk pengembangan program, semoga bermanfaat.

Sumber : https://github.com/PHPMailer/PHPMailer

Posting Komentar

0Komentar

Posting Komentar (0)

#buttons=(Ok, Go it!) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Ok, Go it!