Kirim email dari Localhost menggunakan PHP dengan SMTP dan PHPMailer

Programming

oleh Vinci terakhir diubah pada 17 Agustus 2022.

Localhost adalah rumah favorit para pengembang web. Lingkungan pengembangan lokal selalu cocok untuk mengembangkan dan men-debug skrip.

Kirim email melalui skrip dengan fungsi PHP bawaan. Ini mungkin hampir selalu tidak berfungsi di localhost. Anda harus memiliki program sendmail dan pengaturan yang tepat.

Jika PHP email() tidak berfungsi di localhost Anda, ada solusi alternatif untuk mengirim email. Anda dapat menggunakan server SMTP dan mengirim email dari localhost dan ini adalah opsi populer untuk mengirim email untuk programmer PHP.

Contoh kode ini menunjukkan cara menggunakan PHPMailer untuk mengirim email menggunakan SMTP dari localhost.

Mengirim email dari localhost menggunakan smtp

Skrip pengiriman surat PHP dengan SMTP

Program ini menggunakan library PHPMailer untuk koneksi SMTP untuk mengirim email. Anda dapat menguji ini di server localhost Anda. Anda memerlukan akses ke server SMTP.

Sebelum menjalankan kode ini, konfigurasikan pengaturan SMTP untuk mengatur detail berikut.

  1. Instruksi otentikasi dan protokol keamanan.
  2. Konfigurasikan kredensial SMTP untuk autentikasi dan otorisasi skrip pengiriman email.
  3. Tambahkan alamat From, To, dan Reply-To menggunakan objek PHPMailer.
  4. Tulis isi email dan tambahkan subjek sebelum mengirim email.

Langkah-langkah di atas diperlukan dengan kode pengiriman email PHPMailer. Selain itu, perpustakaan email ini mendukung banyak fitur. Beberapa dari mereka adalah…

Setel Debug SMTP = 4 dalam mode pengembangan untuk mencetak detail status skrip pengiriman email.

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require_once __DIR__ . '/vendor/phpmailer/src/Exception.php';
require_once __DIR__ . '/vendor/phpmailer/src/PHPMailer.php';
require_once __DIR__ . '/vendor/phpmailer/src/SMTP.php';

$mail = new PHPMailer(true);

$mail->SMTPDebug = 0;
$mail->isSMTP();
$mail->Host="SET-SMTP-HOST";
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Port = 465;

$mail->mailer = "smtp";

$mail->Username="SET-SMTP-USERNAME";
$mail->Password = 'SET-SMTP-PASSWORD';

// Sender and recipient address
$mail->SetFrom('SET-SENDER-EMAIL', 'SET-SENDER_NAME');
$mail->addAddress('ADD-RECIPIENT-EMAIL', 'ADD-RECIPIENT-NAME');
$mail->addReplyTo('ADD-REPLY-TO-EMAIL', 'ADD-REPLY-TO-NAME');

// Setting the subject and body
$mail->IsHTML(true);
$mail->Subject = "Send email from localhost using PHP";
$mail->Body = 'Hello World!';

if ($mail->send()) {
    echo "Email is sent successfully.";
} else {
    echo "Error in sending an email. Mailer Error: {$mail->ErrorInfo}";
}
?>

Google dan Microsoft telah menonaktifkan otentikasi tidak aman

Sebelumnya, programmer dengan mudah menggunakan server SMTP GMail untuk mengirim email melalui PHP. Sekarang, konfigurasi aplikasi yang kurang aman dinonaktifkan di Google. Google dan Microsoft memaksa otentikasi melalui OAuth 2 untuk mengirim email.

Ada teks ketidaktahuan di utas ini. Orang-orang mengatakan bahwa kami tidak dapat lagi mengirim email melalui Google SMTP. Ini bukan masalahnya. Mereka telah mengubah metode otentikasi.

Penting: Saya telah menulis artikel untuk membantu Anda mengirim email menggunakan xOAuth2 melalui PHP. Anda dapat menggunakan ini dan terus mengirim email menggunakan Google atau penyedia layanan email lain yang memerlukan OAuth.

Alternatif: Aktifkan surat PHP bawaan ()

  1. Jika Anda tidak memiliki akses ke server email SMTP.
  2. Jika Anda tidak dapat menggunakan layanan email xOAuth2 dan Google / Microsoft.

Dalam situasi di atas, Anda dapat mencoba menjalankan server Anda di localhost. Ya! Itu mungkin dan akan berhasil.

PHP memiliki fungsi email bawaan untuk mengirim email tanpa menggunakan perpustakaan pihak ketiga.

Fungsi mail() mampu memenuhi persyaratan pengiriman email sederhana dalam PHP.

Ini tidak akan berfungsi di localhost tanpa mengatur konfigurasi php.ini. Temukan bagian berikut di file php.ini Anda dan atur jalur sendmail dan pengaturan terkait.

pengaturan email php.ini

Unduh

Kembali ke atas


Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.