Mengirim email dari localhost/server online menggunakan PHP

13
Mengirim email dari localhost menggunakan PHP

Ketika kamu menguji aplikasi Web kamu di server localhost/online atau jika kamu menggunakan Sistem Operasi Windows sulit untuk mensetup mail server untuk mengirim email. Dengan library PHP yaitu PHPMailer kita dapat dengan mudah mengirim email dari localhost/server online menggunakan PHP.

Menggunakan PHPMailer untuk mengirim email dari localhost/server online

Library PHPMailer adalah library favorit pribadi saya untuk mengirim email dari localhost dan pada kenyataannya digunakan oleh diperkirakan 10 juta pengguna di seluruh dunia. Dengan menggunakan PHPMailer kita dapat mengirim email html, email teks, via smtp, gmail. Kamu juga dapat mengirim cc dan bcc ke beberapa penerima. Bahkan kita dapat men-download library PHPMailer dari Github dan Sourceforge. Silahkan lihat pada beberapa contoh di sini.

Mengkonfigurasi PHPMailer untuk mengirim email via SMTP

Saya mengasumsikan bahwa kamu sudah punya akun email Google (gmail), karena ini adalah cara termudah untuk mengirim email via smtp. Jika kamu sudah punya akun di outloook, atau layanan email lainnya itu bisa dilakukan juga. Ikuti langkah-langkah berikut untuk mengkonfigurasi library PHPMailer untuk mengirim email.

Langkah pertama adalah men-download file zip library PHPMailer dari situs PHPMailer/Github/Sourceforge. Setelah kamu men-downloadnya, extract ke folder project kamu direktori localhost / server online kamu.

Sertakan file PHPMailerAutoload.php dalam file php kamu. Ini akan menjadi halaman yang akan digunakan untuk mengirim email.

<?php
// menyertakan file PHPMailerAutoload
require 'phpmailer/PHPMailerAutoload.php';
?>

Menginstansiasi class phpmailer, yaitu membuat obyek dari class PHPMailer.

<?php
// membuat obyek dari class PHPMailer
$mail = new PHPMailer(true);
?>

Mengatur class untuk menggunakan metode SMTP.

<?php
$mail->IsSMTP();
?>

Jika kamu ingin melakukan debug kode atau mengecek output setelah mengirim email, gunakan opsi ini:

<?php
// mengaktifkan informasi debug SMPT (untuk pengujian)
// atur 0 untuk mode debugging
// atur 1 untuk menampilkan hasil debug
$mail->SMTPDebug = 0;
?>

Mengaktifkan otentikasi SMPT. Disarankan untuk menggunakannya.

<?php
$mail->SMTPAuth = true;
?>

Mengatur mode pengiriman email, server smtp dan port. Sekali lagi Saya mengasumsikan bahwa kamu sudah menggunakan Gmail.

<?php
// untuk Gmail
$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;

// untuk Outlook
$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp-mail.outlook.com';
$mail->Port = 587; //gunakan port 25 sebagai alternatif

?>

Berikan alamat email dan password. Juga mengatur alamat email pengirim dan namanya.

<?php

$mail->Username = 'emailmu@gmail.com';
// harus dalam tanda kutip tunggal
$mail->Password = 'passwordmu';

$mail->SetFrom('emailmu@gmail.com', 'Nama Kamu');
?>

Jika kamu ingin menambahkan satu atau beberapa penerima, tambahkan baris kode ini di bawah ini.

<?php
$mail->AddAddress('email1@domain.com');
// hapus baris di bawah ini
// jika kamu tidak ingin mengirim ke beberapa penerima
$mail->AddAddress('email2@domain.com');
?>

Kamu juga dapat mengirim Cc/Bcc ke penerima.

<?php
$mail->AddCC('email1@domain.com');
$mail->AddBCC('email2@domain.com');
?>

Tambahkan isi pesan. Kamu dapat menggunakan teks biasa atau template html yang telah diformat. Saya menggunakan template email HTML.

<?php
// mengambil isi pesan dari file HTML yaitu pesan.html
$message = file_get_contents('pesan.html');

// menambahkan isi pesan
$mail->MsgHTML($message);
?>

Jika kamu ingin melampirkan file, tambahkan kode di bawah ini.

<?php
// ganti time.png dengan file kamu
$mail->AddAttachment('time.png');
?>

Melakuakn cek pada konfigurasi dan mengirim email.

<?php
try {
    // kirim email
    $mail->Send();
    $msg = "Email berhasil dikirim";
} catch (phpmailerException $e) {
    $msg = $e->getMessage();
} catch (Exception $e) {
    $msg = $e->getMessage();
}
?>

Jika ada masalah tentang tutorial Mengirim email dari localhost/server online menggunakan PHP, jangan ragu untuk berkomentar gan.

BAGIKAN

13
Leave a Reply

avatar
400
9 Comment threads
4 Thread replies
3 Followers
 
Most reacted comment
Hottest comment thread
11 Comment authors
RiskanugsanNagaLogiaDimitriamirza Recent comment authors
  Subscribe  
terbaru terlama vote teratas
Beritahu
Bariq
Tamu
Bariq

gan, itu yg ‘emailmu’ dan ‘passwordmu’ mksd nya pas tujuan emailnya atau yg ngirim email?saya ingin buat form yg bisa kirim pesan trs dikirim ke email admin(email saya) soalnya. thanks gan

dwi
Tamu
dwi

ada pesan errror….SMTP Error: Could not authenticate.
kenapa mas?

edwin
Tamu
edwin

SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting , kenapa ya gan ?

mirza
Tamu

saya juga terkena eror begitu

fsx
Tamu
fsx

kebanyakan notifikasinya trouble SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting, kenapa ya gan , saya sudah coba dengan mengganti akun gmail

Fajar
Tamu
Fajar

joss. work

Dimitria
Tamu
Dimitria

Gan, kalo isi pesan tidak muncul (kosong: cuma label “Isi Pesan:”), tapi nama pengirimnya, emailnya & lainnya bisa muncul. Kenapa ya? Sy ada di dua provider hosting yg sama (beda web) dgn file-file php yg sama juga… tapi yg satu bisa, yg lainnya ngga bisa‚Ķ file dilokasi induk mail.php, sub dir (folder) classes: class.phpmailer.php dan class.smtp

NagaLogia
Tamu

Timbul masalah baru, udah terkirim tapi email enggak masuk. :v

nugsan
Tamu
nugsan

thanks gan, work ini

Riska
Tamu
Riska

Sorry fina, it seems that my mail server is not responding. Please try again later!
kalau ada eror kyk gini gimana ya kak ?