Membuat Formulir Pengiriman Email Menggunakan Script Authentifikasi SMTP
- Administrator
- Smtp, Contact, Contact form email, Sendmail, Email
- 2053 Kali Dilihat
- 0 Komentar
Menggunakan Script Authentifikasi SMTP
Mengapa tidak menggunakan mail() function? Apa bedanya dengan fungsi formulir kontak yang sudah ada pada website? Mungkin sebagian dari kalian akan bertanya tentang hal itu. Dan saya akan berikan jawaban mengapa harus Membuat Formulir Pengiriman Email Menggunakan Authentifikasi SMTP. Alasanya adalah karena penggunaan mail() function kurang aman dan dapat mengakibatkan pesan yang dikirim masuk didalam folder spam. Alasan lain adalah karena dianggap kurang aman, maka sebagian provider hosting menonaktifkan fungsi mail() sehingga jika membuat pengiriman pesan dengan konfigurasi mail() function tidak akan terkirim. Jawaban dari pertanyaan yang ke 2, perbedaan fungsi kontak yang sudah ada pada website dengan Formulir Pengiriman Email Menggunakan Authentifikasi SMTP. Adalah bahwa fungsi kontak yang sudah ada pada website mengirim pesan dari pengunjung website(pengirim pesan) kepada pengelola website(admin website) ke dashboard admin. Sedangkan Formulir Pengiriman Email Menggunakan Authentifikasi SMTP yang dimaksudkan dan akan dibuat melalui tutorial ini adalah, bahwa pesan yang dikirim pengunjung website akan dikirim ke akun email yang di konfigurasikan pada script authentifikasi smtp. Atau dengan kata lain adalah, bahwa pesan yang dikirim dengan script authentifikasi smtp akan terkirim ke akun email(bukan ke dashboard website/admin).
Artikel ini merupakan update artikel sebelumnya tentang cara Membuat Formulir Kontak Email.
Langkah-langkah cara Membuat Formulir Pengiriman Email Menggunakan Script Authentifikasi SMTP
Untuk Membuat halaman kontak dengan Formulir Pengiriman Email Menggunakan Script Authentifikasi SMTP silahkan ikuti langkah-langkah berikut ini.
Silahkan perhatikan script Authentifikasi SMTP dibawah:
<?php
include "classes/class.phpmailer.php";
///////////////////////////
//Proses Formulir Kontak //
//Contact Form Processing//
///////////////////////////
$errors = array();
if(isset($_POST['message']) and isset($_POST['name'])) {
if(!empty($_POST['name']))
$sender_name = stripslashes(strip_tags(trim($_POST['name'])));
if(!empty($_POST['message']))
$message = stripslashes(strip_tags(trim($_POST['message'])));
if(!empty($_POST['email']))
$sender_email = stripslashes(strip_tags(trim($_POST['email'])));
if(!empty($_POST['subject']))
$subject = stripslashes(strip_tags(trim($_POST['subject'])));
//Message if no sender name was specified
//Pesan jika nama pengirim tidak ditentukan
if(empty($sender_name)) {
$errors[] = $name_not_specified;
}
//Message if no message was specified
//Pesan jika pesan tidak ditentukan
if(empty($message)) {
$errors[] = $message_not_specified;
}
$from = (!empty($sender_email)) ? 'From: '.$sender_email : '';
$subject = (!empty($subject)) ? $subject : $default_subject;
$message = (!empty($message)) ? wordwrap($message, 70) : '';
//sending message if no errors
//mengirim pesan jika tidak ada kesalahan
if(empty($errors)) {
if (mail($your_email, $subject, $message, $from)) {
echo $email_was_sent;
} else {
$errors[] = $server_not_configured;
echo implode('<br>', $errors );
}
} else {
echo implode('<br>', $errors );
}
} else {
// if "name" or "message" vars not send ('name' attribute of contact form input fields was changed)
//Jika "nama" atau "pesan" vars tidak mengirim (atribut 'nama' Field input form Kontak berubah)
echo '"name" and "message" variables were not received by server. Please check "name" attributes for your input fields';
}
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 0;
$mail->Debugoutput = 'html';
$mail->messageType = 'html';
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Port = 465;
$mail->Username = "mail@mail.com"; // email Pengirim alias
$mail->Password = "passwordmail"; // passwword Pengirim alias
$mail->Host = "mail.domain.com"; // host Pengirim alias
$mail->Mailer = "smtp";
$mail->SetFrom("admin@mail.com",""); //Pengirim alias
$mail->AddReplyTo("$sender_email");
$mail->AddAddress("massagesjakarta@gmail.com","Massages Jakarta"); //email tujuan
$mail->Subject = ("$subject");
$mail->WordWrap = 70;
$mail->MsgHTML("$message");
if($mail->Send()) echo "<script language='javascript'>
window.alert('Thank you, your message has been sent. Please be patient waiting for a response from us, because all users must we serve wholeheartedly. Sometimes we give no response to 1 x 24 hours of work.')
window.location.href='https://massagesjakarta.com/category/blog';
</script>";
else echo "<script language='javascript'>
window.alert('Sorry....! Failed to sending message. Please check and try again!')
window.location.href='https://massagesjakarta.com/sendmail';
</script>";
?>
Dengan melihat script Authentifikasi SMTP diatas saya berharap kalian paham. Sript Authentifikasi SMTP diatas sudah tersedia di dalam bundle Classes for Mailer Authentification(silahkan unduh). Letakan file mail.php dan folder classes pada root_dir, pastikan bahwa script Authentifikasi SMTP pada file mail.php telah kalian sesuaikan.
Membuat halaman formulir kontak
Langkah selanjutnya adalah membuat elemen atau halaman yang didalamnya terdapat Formulir Pengiriman Email Menggunakan Script Authentifikasi SMTP. Kita sebut saja nama halaman ini adalah halaman kontak dengan elemen contact.php yang sudah ada. Sesuaikan script formulir kontak yang sudah ada dengan Formulir Pengiriman Email Menggunakan Script Authentifikasi SMTP yang sudah kita siapkan. Perhatikan contoh script formulir kontak yang telah disesuaikan berikut:
<form id="frmContact" class="contact-form" method="post" action="<?=BASE_URL;?>/mail.php">
<p class="contact-form-name">
<label for="name">Name <span class="required">*</span></label>
<input type="text" aria-required="true" size="30" value="" name="name" id="name" class="form-control" placeholder="Name">
</p>
<p class="contact-form-email">
<label for="email">Email <span class="required">*</span></label>
<input type="email" aria-required="true" size="30" value="" name="email" id="email" class="form-control" placeholder="Email">
</p>
<p class="contact-form-subject">
<label for="subject">Subject <span class="required">*</span></label>
<input type="text" aria-required="true" size="30" value="" name="subject" id="subject" class="form-control" placeholder="Subject">
</p>
<p class="contact-form-message">
<label for="message">Massage</label>
<textarea aria-required="true" rows="8" cols="45" name="message" id="template-contactform-message" class="form-control" placeholder="Message"></textarea>
</p>
<p class="contact-form-submit vertical-margin-40">
<button type="submit" id="submit" name="contact_submit" class="btn btn-default pull-right"><i class="rt-icon-sent"></i> <?=$this->e($front_contact_btn);?></button>
</p>
</form>
Jika kalian amati dengan teliti bagian yang berubah hanya pada action. Dimana sebelumnya action mengarah pada halaman admin, kemudian dirubah dengan tujuan server email baru kemudian diteruskan ke email tujuan sesungguhnya. Setelah semua file selesai dikerjakan dan sesuai dengan yang kalian inginkan simpan semua perubahan. Sekarang silahkan kunjungi halaman kontak website kalian dan cobalah kirimkan pesan melalui formulir kontak tersebut!
Saya berharap artikel ini dapat membantu kalian dan saya ucapkan terimakasih atas kunjungan kalian.