Kirim Email via SMTP Server di PHP menggunakan PHPMailer

5
Kirim Email via SMTP Server di PHP menggunakan PHPMailer

Kirim email dari script adalah fitur yang sering digunakan untuk aplikasi web. Pada dasarnya, fungsi mail() dalam PHP digunakan untuk mengirim email dari script PHP. Saat kamu mengirim email menggunakan fungsi PHP mail(), email tersebut dikirim dari server web kamu. Kadang-kadang dapat menyebabkan masalah pada pengiriman email dan gagal untuk mengirim email ke penerima. Dengan SMTP kamu dapat mengatasi masalah ini, SMTP adalah cara yang paling direkomendasikan untuk mengirim email dari script PHP. Saat kamu mengirim email melalui SMTP, email dikirim dari server mail dan bukan dari web server.

Cara termudah untuk mengirim email di PHP dengan SMTP adalah dengan menggunakan library PHPMailer. PHPMailer memberikan kemampuan untuk mengirim email melalui server SMTP di PHP. Beragam pilihan konfigurasi library PHPMailer memungkinkan kita untuk mengirim email teks, email HTML, dan lampiran.

Mengirim email HTML

Gunakan isHTML(true) untuk mengatur format email ke HTML.

<?php
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;

// Konfigurasi SMTP
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'passwordmu';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

$mail->setFrom('[email protected]', 'Codingan');
$mail->addReplyTo('[email protected]', 'Codingan');

// Menambahkan penerima
$mail->addAddress('[email protected]');

// Menambahkan cc atau bcc 
$mail->addCC('[email protected]');
$mail->addBCC('[email protected]');

// Subjek email
$mail->Subject = 'Kirim Email via SMTP Server di PHP menggunakan PHPMailer';

// Mengatur format email ke HTML
$mail->isHTML(true);

// Konten/isi email
$mailContent = "<h1>Mengirim Email HTML menggunakan SMTP di PHP</h1>
    <p>Ini adalah email percobaan yang dikirim menggunakan email server SMTP dengan PHPMailer.</p>";
$mail->Body = $mailContent;

// Kirim email
if(!$mail->send()){
    echo 'Pesan tidak dapat dikirim.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
}else{
    echo 'Pesan telah terkirim';
}

Mengirim email dengan lampiran

Gunakan method addAttachment() dari class PHPMailer untuk menambahkan lampiran ke email. Kamu dapat menambahkan beberapa lampiran ke email dengan menambahkan method addAttachment() beberapa kali.

// Menambahakn lampiran
$mail->addAttachment('lmp/file1.pdf');
$mail->addAttachment('lmp/file2.png', 'nama-baru-file2.png'); //atur nama baru

Mengirim email ke beberapa penerima

Tambahkan method addAddress() beberapa kali untuk mengirimkan email yang sama ke beberapa penerima.

// Menambahkan beberapa penerima
$mail->addAddress('[email protected]');
$mail->addAddress('[email protected]');

Mengirim email menggunakan Gmail SMTP

Jika kamu ingin menggunakan Gmail SMTP untuk mengirim email, kamu harus membuat beberapa perubahan dalam pengaturan akun Google!. Ikuti langkah-langkah di bawah ini untuk menggunakan Gmail SMTP di library PHPMailer.

  • Login ke akun Google kamu.
  • Masuk ke halaman Akun Saya. Klik Login ke Google dari bagian Login & Keamananan.
  • Scroll ke bawah ke bagian Metode login & sandi dan matikan Verifikasi 2 Langkah.
  • Mematikan verifikasi 2 langkah
  • Scroll ke bawah lagi ke bagian Aplikasi & situs yang terhubung dan aktifkan Izinkan aplikasi yang kurang aman.
  • Izinkan aplikasi yang kurang aman

Ok, selesai! Sekarang kamu dapat menggunakan Gmail SMTP untuk mengirim email dari script PHP. Tentukan kredensial akun Gmail kamu (alamat email dan password), SMTP host dan port.

// Konfigurasi SMTP
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'passwordmu';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

Pecandu Aceh Gayo dan 182. Follow Instagram ↓↓↓

BAGIKAN

Leave a Reply

5 Komentar di "Kirim Email via SMTP Server di PHP menggunakan PHPMailer"

Beritahu
avatar
400
Urut berdasarkan:   terbaru | terlama | vote teratas
miftah
Tamu

gimana cara setting yahoo di phpmailer?
apakah ada settingan lagi di yahoo nya
$mail->Host = “smtp.bizmail.yahoo.com”;
$mail->SMTPSecure = ‘ssl’;
$mail->Port = 465;
$mail->SMTPDebug = 2;

iqbal
Tamu

// Konfigurasi SMTP
$mail->isSMTP();
$mail->Host = ‘smtp.gmail.com’;
$mail->SMTPAuth = true;
$mail->Username = ‘[email protected]’;
$mail->Password = Rahasia’;
$mail->SMTPSecure = ‘tls’;
$mail->Port = 587;

//Eror:
Pesan tidak dapat dikirim.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

wpDiscuz