Apakah surat php memerlukan smtp?

Dalam tutorial ini, Anda akan belajar cara mengirim email dalam PHP menggunakan library PHPMailer melalui SMTP Gmail. Seperti PHPMailer, ada beberapa pustaka pengirim email yang bagus di PHP e. g. PIR. Antarmuka email, Swiftmailer dll yang dapat membantu Anda mengirim email dengan mudah dalam PHP menggunakan SMTP Gmail

Prasyarat

Sebelum memulai dengan langkah-langkah cara mengirim email menggunakan SMTP dalam contoh PHP, mari kita lihat dulu apa saja batasan server SMTP Gmail dan cara mengatasinya

  • Gmail membatasi jumlah penerima dalam satu email dan jumlah email yang dapat dikirim per hari. Batas saat ini adalah 500 Email dalam sehari atau 500 penerima dalam satu email. Anda tidak dapat benar-benar meningkatkan batas ini. Jika Anda ingin mengirim di atas batas ini, maka Anda perlu berintegrasi dengan platform pengiriman email pihak ketiga seperti Pepipost Sendgrid dll
  • Saat mencapai batas ambang, Anda tidak akan dapat mengirim pesan selama 24 jam ke depan. Setelah periode penangguhan sementara ini berakhir, penghitung akan disetel ulang secara otomatis, dan pengguna dapat melanjutkan pengiriman email
  • Secara default, aplikasi/kode pihak ketiga mana pun tidak diizinkan untuk mengirim email menggunakan akun Gmail Anda. Dan, karenanya ada beberapa pengaturan yang perlu dilakukan di akhir Anda

Bagaimana Cara Mengaktifkan Pengiriman Email Di Gmail?

  1. Sebelum mengirim email menggunakan Server SMTP Gmail, Anda membuat beberapa pengaturan tingkat keamanan dan izin di bawah Pengaturan Keamanan Akun Google Anda
  2. Pastikan Verifikasi 2 Langkah dinonaktifkan
  3. AKTIFKAN akses "Aplikasi Kurang Aman" atau klik di sini
  4. Jika verifikasi 2 langkah diaktifkan, Anda harus membuat kata sandi aplikasi untuk aplikasi atau perangkat Anda
  5. Untuk tindakan keamanan, Google mungkin meminta Anda menyelesaikan langkah tambahan ini saat masuk. Klik di sini untuk mengizinkan akses ke akun Google Anda menggunakan perangkat/aplikasi baru

Catatan. Mungkin diperlukan waktu satu jam atau lebih untuk mencerminkan perubahan keamanan apa pun

Langkah 1. Unduh pustaka PHPMailer dari tautan github ini. Untuk langsung mendownload. zip, gunakan tautan ini

Buka zip masternya. zip di direktori aplikasi Anda dan jalankan perintah berikut dari direktori aplikasi Anda

composer require phpmailer/phpmailer

Composer adalah cara yang disarankan untuk menginstal PHPMailer

Langkah 2. Menulis Kode PHP untuk membuat koneksi SMTP

  • Menggunakan kredensial Gmail Anda, sambungkan ke host "smtp. gmail. com"
  • Klik di sini untuk beberapa Contoh dan Tutorial PHPMailer lainnya

Langkah 3. Sertakan paket dan file untuk protokol PHPMailer dan SMTP

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-master/src/Exception.php';
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
_

Langkah 4. Inisialisasi PHP Mailer dan atur SMTP sebagai protokol surat

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Mailer = "smtp";

Langkah 5. Tetapkan parameter yang diperlukan untuk membuat koneksi SMTP seperti kredensial server, port, dan akun. SSL dan TLS adalah protokol kriptografi yang menyediakan autentikasi dan enkripsi data antara server, mesin, dan aplikasi yang beroperasi melalui jaringan. SSL adalah pendahulu dari TLS

$mail->SMTPDebug  = 1;  
$mail->SMTPAuth   = TRUE;
$mail->SMTPSecure = "tls";
$mail->Port       = 587;
$mail->Host       = "smtp.gmail.com";
$mail->Username   = "[email protected]";
$mail->Password   = "your-gmail-password";

Langkah 6. Tetapkan parameter yang diperlukan untuk header dan isi email

$mail->IsHTML(true);
$mail->AddAddress("recipient-email@domain", "recipient-name");
$mail->SetFrom("[email protected]", "from-name");
$mail->AddReplyTo("reply-to-email@domain", "reply-to-name");
$mail->AddCC("cc-recipient-email@domain", "cc-recipient-name");
$mail->Subject = "Test is Test Email sent via Gmail SMTP Server using PHP Mailer";
$content = "This is a Test Email sent via Gmail SMTP Server using PHP mailer class.";
_

Langkah 7. Kirim email dan tangkap pengecualian yang diperlukan

$mail->MsgHTML($content); 
if(!$mail->Send()) {
  echo "Error while sending Email.";
  var_dump($mail);
} else {
  echo "Email sent successfully";
}

Bekerja Kode PHP untuk Mengirim Email Menggunakan Server SMTP

Klik di sini untuk mengunduh kode PHP lengkap yang berfungsi untuk mengirim email menggunakan server SMTP Gmail. Anda hanya perlu mengubah beberapa nilai dan itu akan berhasil

Daftar Kemungkinan Kesalahan Dan Pengecualian

Kesalahan 1. Perintah Sandi Gagal. 534-5. 7. 9 Kata Sandi Khusus Aplikasi Diperlukan

SMTP ERROR: Password command failed: 534-5.7.9 Application-specific password required. Learn more at 534 5.7.9  https://support.google.com/mail/?p=InvalidSecondFactor z2sm11041738pfq.58 - gsmtp
SMTP Error: Could not authenticate.
CLIENT -> SERVER: QUIT
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Problem sending email.
_

Ini terjadi sebagian besar ketika Kredensial Server Surat SMTP benar tetapi Kata Sandi Khusus Aplikasi tidak diberikan

Kesalahan 2. KESALAHAN SMTP. Perintah Sandi Gagal. 535-5. 7. 8 Nama Pengguna Dan Kata Sandi Tidak Diterima

SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8  https://support.google.com/mail/?p=BadCredentials f3sm5807314pgj.62 - gsmtp
SMTP Error: Could not authenticate.
CLIENT -> SERVER: QUIT
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Problem sending email.

Jika Anda mengalami kesalahan ini, sebagian besar karena kata sandi khusus aplikasi salah

Kesalahan 3. Alamat tidak valid. (Ke). Penerima e-mail

Invalid address:  (to): recipient-email
Problem sending email.
_

Jika Anda mengalami kesalahan ini, sebagian besar karena email penerima tidak valid

Kesalahan 4. SMTP. Server SMTP Tidak Mendukung Otentikasi

authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]
_

Jika Anda mengalami kesalahan ini, sebagian besar karena kode Anda tampaknya tidak menggunakan TLS/SSL, yang diperlukan untuk mengirimkan email ke Google , dan Anda juga harus menggunakan port 587 atau 465

Konfirmasi ulang sekali apakah nilai $host diatur sebagai berikut

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-master/src/Exception.php';
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
_0

Kesalahan 5. Stream_socket_client(). Tidak Dapat Terhubung ke Smtp. Gmail. Kom

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-master/src/Exception.php';
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
_1

Jika Anda mengalami kesalahan ini, sebagian besar karena server Anda tidak dapat tersambung ke smtp. gmail. com di port 587. Ini sebagian besar karena penyedia hosting Anda memiliki beberapa aturan firewall ketat yang memblokir server Anda untuk terhubung ke server eksternal lainnya melalui port SMTP 587

Kesalahan 6. Kesalahan Server SMTP. 5. 5. 1 Otentikasi Diperlukan. Pelajari Lebih Lanjut Di 530 5. 5. 1

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-master/src/Exception.php';
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
_2

Jika Anda mengalami kesalahan ini, sebagian besar karena Anda telah mengaktifkan 2FA di akun Gmail Anda atau Anda belum mengaktifkan akses ke Aplikasi Kurang Aman. Baca di atas  untuk mengatasi masalah ini

Kesalahan 7. Pesan. fsockopen(). Tidak Dapat Menghubungkan ke SSL. //Smtp. Gmail. Kom

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-master/src/Exception.php';
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
_3

Jika Anda mengalami kesalahan ini, maka ini sebagian besar karena masalah SSL. Anda perlu mengaktifkan SSL di php. ini dari konfigurasi server Anda. Jika Anda menggunakan server XAMPP, periksa apakah diaktifkan atau tidak. Anda akan mendapatkannya di info PHP

Kesalahan 8. Email dari kode PHP masuk Spam

Jelas ini bukan kesalahan, tapi pasti menjadi perhatian. Salah satu alasan paling umum email masuk spam adalah daftar hitam. Anda harus memeriksa apakah domain atau alamat IP Anda masuk daftar hitam

Keluaran debugger langkah demi langkah setelah berhasil mengirim email

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-master/src/Exception.php';
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
_4

Kesimpulan

Semoga langkah-langkah yang dijelaskan di atas bermanfaat dan Anda berhasil mengirim email dari server SMTP Gmail menggunakan PHP. Jangan ragu untuk berkontribusi, jika Anda mengalami beberapa masalah yang tidak tercantum sebagai bagian dari tutorial ini. Gunakan bagian komentar di bawah ini untuk bertanya/berbagi umpan balik

Apakah surat PHP memerlukan SMTP?

PHP mailer menggunakan Simple Mail Transmission Protocol (SMTP) untuk mengirim email . Di server yang dihosting, pengaturan SMTP sudah ditetapkan. Pengaturan email SMTP dapat dikonfigurasi dari “php. ini” di folder instalasi PHP.

Bisakah Anda mengirim email tanpa SMTP?

Tanpa server SMTP, Anda tidak dapat mengirim email ke tujuannya . Ketika Anda mengklik tombol "kirim" dari klien email Anda, pesan email Anda secara otomatis diubah menjadi serangkaian kode dan ditransfer ke server SMTP Anda.

Bagaimana cara mengirim surat PHP dengan SMTP?

Menulis Kode PHP untuk Mengirim Email Menggunakan SMTP Gmail .
Langkah 1. Unduh pustaka PHPMailer dari tautan github ini. .
Langkah 2. Menulis Kode PHP untuk membuat koneksi SMTP. .
Langkah 3. Sertakan paket dan file untuk protokol PHPMailer dan SMTP. .
Langkah 4. Inisialisasi PHP Mailer dan atur SMTP sebagai protokol surat

Bagaimana cara mengirim email menggunakan fungsi email PHP?

PHP menggunakan fungsi mail() untuk mengirim email. Fungsi ini memerlukan tiga argumen wajib yang menentukan alamat email penerima, subjek pesan, dan pesan sebenarnya, selain itu ada dua parameter opsional lainnya. email( ke, subjek, pesan, header, parameter );