sobatcoding.com - Tutorial kirim email menggunakan akun GMail dan Codeinigter 3
Artikel kali ini kita akan mencoba membuat fungsi kirim email menggunakan codeingiter 3 dan gmail sebagai email provider.
Ada beberapa yang perlu diperhatikan atau dilakukan saat menggunakan akun gmail sebagai email provider agar bisa kita gunakan untuk mengirim email menggunakan PHP atau Codeigniter 3.
Namun sejak 30 Mei 2022, fitur Less Secure App sudah dinonaktifkan oleh Google, jadi ada beberapa hal yang perlu disesuaikan
Selanjutnya kita buat sebuah controller dan sebuah fungsi untuk kirim email seperti kode berikut :
$config['useragent'] = "CodeIgniter";
$config['mailpath'] = "/usr/bin/sendmail";
$config['protocol'] = "smtp";
$config['smtp_host'] = "smtp.gmail.com";
$config['smtp_port'] = 465;
$config['smtp_user'] = "<email_from>";
$config['smtp_pass'] = "<pwd>";
$config['smtp_crypto'] = "ssl";
$config['charset'] = "utf-8";
$config['mailtype'] = "html";
$config['newline'] = "\r\n";
$config['smtp_timeout'] = 30;
$config['wordwrap'] = TRUE;
$this->load->library('email');
$this->email->initialize($config);
$this->email->from(<email_from>, <email_title>);
$this->email->to(<email_to>);
$this->email->subject(<subject>);
$this->email->message(<message>);
if ($this->email->send()) {
echo 'Sukses! email berhasil dikirim.';
} else {
echo 'Error! email gagal dikirim.';
}
Masukkan alamat email dan password hasil generate yang akan digunakan
$config['smtp_user'] = "akunemail@gmail.com"; //akun gmail yang dipakai
$config['smtp_pass'] = "random pwd"; //ubah sesuai dengan password hasil generate
Untuk debugging kalian bisa gunakan $this->email->print_debugger();
if ($this->email->send()) {
echo 'Sukses! email berhasil dikirim.';
} else {
var_dump($this->email->print_debugger());
}
Langkah pertama install php mailer menggunakan composer
composer require phpmailer/phpmailer
Inisialisasi PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Mailer = "smtp";
$mail->SMTPDebug = 1;
$mail->SMTPAuth = TRUE;
$mail->SMTPSecure = "tls";
$mail->Port = 465;
$mail->Host = "smtp.gmail.com";
$mail->Username = "your-email@gmail.com";
$mail->Password = "your-gmail-password";
$mail->IsHTML(true);
$mail->AddAddress("recipient-email@domain", "recipient-name");
$mail->SetFrom("from-email@gmail.com", "from-name");
$mail->AddReplyTo("reply-to-email@domain", "reply-to-name");
$mail->AddCC("cc-recipient-email@domain", "cc-recipient-name");
$mail->Subject = "Test Email sent via Gmail SMTP Server using PHP Mailer";
$content = "<b>This is a Test Email sent via Gmail SMTP Server using PHP mailer class.</b>";
$mail->MsgHTML($content);
if(!$mail->Send()) {
echo "Error while sending Email.";
var_dump($mail);
} else {
echo "Email sent successfully";
}
Sekian tutorial kali ini. Semoga bermanfaat.
Jika teman-teman memiliki pertanyaan atau saran mengenai artikel ini, jangan ragu untuk meninggalkan komentar pada form di bawah ini.
Komentar 0