SMTP adalah singkatan dari Simple Mail Transfer Protocol, protokol atau server yang menjadi bagian integral dari infrastruktur komunikasi email di seluruh dunia.
Secara garis besar, fungsi SMTP server adalah untuk mengirim email melalui jaringan komputer.
Namun, bagaimana hal tersebut dapat terjadi? Jika ditinjau dari cara kerja SMTP, protokol ini bekerja sama dengan Message Transfer Agent (MTA) untuk mengirimkan email.
Dalam hal ini, MTA bertugas untuk mengontrol SMTP saat proses pengiriman berlangsung.
Namun, selain berperan aktif dalam proses pengiriman email, SMTP adalah protokol yang juga berfungsi sebagai pengaman untuk melakukan filtering terhadap email yang masuk.
Agar lebih memahami konsep seputar SMTP, simak penjelasan mengenai fungsi, cara kerja, dan aktivasinya di bawah ini.
Seperti yang sudah disinggung sebelumnya, fungsi SMTP adalah memastikan komunikasi email yang aman, handal, dan efisien di seluruh jaringan komputer.
Namun, di samping itu, protokol ini juga masih memiliki beberapa fungsi lainnya dalam proses pengiriman email. Adapun beberapa fungsi SMTP adalah:
SMTP adalah protokol yang melibatkan beberapa tahapan penting dalam proses pengiriman email. Adapun langkah-langkah utama dalam cara kerja SMTP antara lain:
Proses dimulai dengan pengirim yang mengkomposisikan pesan email. Pesan ini terdiri dari alamat email penerima, subjek, isi, lampiran, dan informasi lainnya.
Setelah pesan selesai dikomposisikan, pengirim akan mengirimkannya ke server email menggunakan MUA (Mail User Agent), sebuah program yang digunakan untuk mengirim dan menerima email.
Setelah menulis email, Anda bisa mengirimkannya ke SMTP gmail dengan menggunakan SMTP pada TCP port 25.
Cara kerja selanjutnya dari SMTP adalah server akan memulai proses pengiriman email ke penerima.
Dalam implementasinya, server pengirim akan menghubungi penerima dengan menggunakan IP address atau nama domain server penerima.
Setelah email diterima, server akan mengirimkannya ke MDA (Mail Delivery Agent). Di sini, email akan disimpan dan menunggu pengguna untuk menerimanya.
Langkah terakhir dari SMTP adalah akses dan pengambilan email. Pada langkah ini, email yang disimpan di MDA dapat diambil dengan menggunakan MUA.
Namun, penerima juga dapat mengambil pesan melalui protokol POP3 atau IMAP, yang memungkinkan akses ke pesan dari berbagai perangkat.
Pada dasarnya, setting SMTP pada berbagai platform tidak memiliki banyak perbedaan dan cenderung mempunyai prinsip yang sama. Berikut panduan umum untuk melakukan setting SMTP pada platform yang berbeda:
Melalui setting SMTP pada WordPress, Anda bisa mengirim email dari website menggunakan server yang dipilih.
Adapun langkah-langkah melakukan setting SMTP adalah:
Jika menggunakan skrip PHP Native tanpa framework tertentu, Anda dapat mengirim email dengan menggunakan library eksternal seperti PHPMailer.
Berikut gambaran skrip PHP Native:
<?php include "classes/class.phpmailer.php"; $mail = new PHPMailer; $mail->IsSMTP(); $mail->SMTPSecure = 'ssl'; $mail->Host = "localhost"; //hostname masing-masing provider email $mail->SMTPDebug = 2; $mail->Port = 465; $mail->SMTPAuth = true; $mail->Timeout = 60; // timeout pengiriman (dalam detik) $mail->SMTPKeepAlive = true;
$mail->Username = "admin@namadomain"; //user email $mail->Password = "XXXXX"; //password email $mail->SetFrom("admin@namadomain","Nama pengirim yang muncul"); //set email pengirim $mail->Subject = "Pemberitahuan Email dari Website"; //subyek email $mail->AddAddress("admin@namadomain","Nama penerima yang muncul"); //tujuan email $mail->MsgHTML("Pengiriman Email Dari Website"); if($mail->Send()) { echo "Message has been sent"; }else { echo "Failed to sending message"; } ?> |
Adapun contoh setting menggunakan PHPMailer:
CodeIgniter adalah salah satu framework PHP yang populer. Tindakan setting SMTP di framework ini melibatkan perubahan file konfigurasi.
Berikut gambaran skrip CodeIgniter:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; class Welcome extends CI_Controller { public function __construct() { parent::__construct(); require APPPATH.'libraries/phpmailer/src/Exception.php'; require APPPATH.'libraries/phpmailer/src/PHPMailer.php'; require APPPATH.'libraries/phpmailer/src/SMTP.php'; } function index() { // PHPMailer object $response = false; $mail = new PHPMailer(); // SMTP configuration $mail->isSMTP(); $mail->Host = 'hostdomain.com'; //sesuaikan sesuai nama domain hosting/server yang digunakan $mail->SMTPAuth = true; $mail->Username = 'xxx@hostdomain.com'; // user email $mail->Password = 'xxxxxxxxxx'; // password email $mail->SMTPSecure = 'ssl'; $mail->Port = 465; $mail->Timeout = 60; // timeout pengiriman (dalam detik) $mail->SMTPKeepAlive = true; $mail->setFrom('xxx@hostdomain.com', ''); // user email $mail->addReplyTo('xxx@hostdomain.com', ''); //user email
// Add a recipient $mail->addAddress('to@hostdomain.com'); //email tujuan pengiriman email // Email subject $mail->Subject = 'SMTP Codeigniter'; //subject email
// Set email format to HTML $mail->isHTML(true); // Email body content $mailContent = "<h1>SMTP Codeigniterr</h1> <p>Laporan email SMTP Codeigniter.</p>"; // isi email $mail->Body = $mailContent; // Send email if(!$mail->send()){ echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; }else{ echo 'Message has been sent'; } } } |
Adapun cara untuk melakukan perubahan tersebut:
Risca Fadillah
Berlangganan Newsletter kami
Masukkan alamat email anda untuk menerima notifikasi Newsletter kami