PHP : Send Email

Fungsi PHP mail()

Mengirim pesan email sangat umum untuk sebuah aplikasi web, misalnya, mengirim email sambutan ketika pengguna membuat akun di situs web kalian, mengirim buletin kepada member user kalian, atau mendapatkan feedback atau komentar pengguna melalui formulir kontak situs web, dan sebagainya.

Kalian dapat menggunakan fungsi PHP mail() bawaan untuk membuat dan mengirim pesan email ke satu atau lebih penerima secara dinamis dari aplikasi PHP kalian baik dalam bentuk teks biasa atau HTML yang diformat. Sintaks dasar fungsi ini dapat diberikan dengan:

mail(to, subject, message, headers, parameters)

Tabel berikut ini merangkum parameter dari fungsi ini.

ParameterDescription
Required — The following parameters are required
toAlamat email penerima.
subjectSubjek dari email yang akan dikirim. Parameter ini yaitu, baris subjek tidak dapat berisi karakter baris baru ( \n ).
messageMenentukan pesan yang akan dikirim. Setiap baris harus dipisahkan dengan feed garis-LF ( \n ). Garis tidak boleh lebih dari 70 karakter.
Optional — The following parameters are optional
headersIni biasanya digunakan untuk menambahkan tajuk tambahan seperti “Dari”, “Cc”, “Bcc”. Header tambahan harus dipisahkan dengan carriage return plus line feed-CRLF ( \r\n ).
parametersDigunakan untuk melewati (pass) parameter tambahan.
Mengirim Email Teks Biasa

Cara paling sederhana untuk mengirim email dengan PHP adalah mengirim email teks. Pada contoh di bawah ini, pertama-tama kita mendeklarasikan variabel —- alamat email penerima, baris subjek, dan isi pesan —- kemudian kita meneruskan variabel-variabel ini ke fungsi mail() untuk mengirim email.

<?php
$to = 'maryjane@email.com';
$subject = 'Marriage Proposal';
$message = 'Hi Jane, will you marry me?'; 
$from = 'peterparker@email.com';
 
// Sending email
if(mail($to, $subject, $message)){
    echo 'Your mail has been sent successfully.';
} else{
    echo 'Unable to send email. Please try again.';
}
?>
Mengirim Email Berformat HTML

Saat kalian mengirim pesan teks menggunakan PHP, semua konten akan diperlakukan sebagai teks sederhana. Kita akan meningkatkan output itu, dan membuat email menjadi email berformat HTML.

Untuk mengirim email HTML, prosesnya akan sama. Namun, kali ini kita perlu memberikan tajuk tambahan serta pesan berformat HTML.

<?php
$to = 'maryjane@email.com';
$subject = 'Marriage Proposal';
$from = 'peterparker@email.com';
 
// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
// Create email headers
$headers .= 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
// Compose a simple HTML email message
$message = '<html><body>';
$message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
$message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
$message .= '</body></html>';
 
// Sending email
if(mail($to, $subject, $message, $headers)){
    echo 'Your mail has been sent successfully.';
} else{
    echo 'Unable to send email. Please try again.';
}
?>