Kirim Email dari Localhost menggunakan PHP dengan SMTP dan PHPMailer

0
(0)

oleh Vincy. Terakhir diubah pada 17 Agustus 2022.

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

Mailing melalui script dengan built-in fungsi PHP. Ini mungkin tidak bekerja hampir selalu di localhost. Anda harus memiliki program sendmail dan konfigurasi yang sesuai.

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

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

pengiriman email dari localhost menggunakan smtp

Skrip pengiriman Surat PHP dengan SMTP

Program ini menggunakan library PHPMailer untuk menghubungkan 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. Arahan otentikasi dan protokol keamanan.
  2. Konfigurasikan kredensial SMTP untuk mengautentikasi dan mengotorisasi skrip pengiriman email.
  3. Add From, To dan Reply-To alamat menggunakan objek PHPMailer.
  4. Buat badan email dan tambahkan subjek sebelum mengirim email.

Langkah-langkah di atas wajib dilakukan dengan kode pengiriman surat PHPMailer. Selain itu, perpustakaan surat ini mendukung banyak fitur. Beberapa dari mereka adalah,

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

<?php
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerSMTP;
use PHPMailerPHPMailerException;

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 menonaktifkan otentikasi tidak aman

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

Ada teks yang kurang informasi yang beredar di topik ini. Orang mengatakan bahwa kami tidak dapat mengirim email melalui Google SMTP lagi. Itu tidak terjadi. 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 memaksa untuk menggunakan OAuth.

Alternatif: Mengaktifkan email bawaan PHP()

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

Dalam situasi di atas, Anda dapat mencoba mengatur server Anda sendiri di localhost. Ya! itu mungkin dan itu 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.

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

pengaturan email php.ini

Unduh

Kembali ke Atas



Source link

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.


Notice: ob_end_flush(): failed to send buffer of zlib output compression (0) in /home/breatgem/widiyanata.com/wp-includes/functions.php on line 4755