Heim >Backend-Entwicklung >PHP-Tutorial >E-Mails sicher mit PHP zustellen: Eine Anleitung zur Verwendung von SMTP für Spam-freie E-Mails
Berikut ialah contoh langkah demi langkah cara menghantar e-mel tanpa mendarat dalam folder spam menggunakan PHP SMTP.
Kami akan menggunakan pustaka PHPMailer, yang memudahkan penghantaran e-mel melalui SMTP dan membantu meningkatkan kebolehhantaran. Mengikuti langkah ini, anda akan belajar cara mengkonfigurasi SMTP dengan betul untuk mengelakkan e-mel mendarat dalam folder spam.
Pertama, anda perlu memasang perpustakaan PHPMailer. Anda boleh melakukan ini menggunakan Komposer.
composer require phpmailer/phpmailer
Jika anda tidak mempunyai Komposer, anda boleh memuat turun PHPMailer secara manual daripada GitHub dan memasukkannya ke dalam projek anda.
Buat fail baharu send_email.php di mana anda akan menulis skrip untuk menghantar e-mel menggunakan PHPMailer dengan SMTP.
<?php // Load Composer's autoloader if using Composer require 'vendor/autoload.php'; // Import PHPMailer classes into the global namespace use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; $mail = new PHPMailer(true); try { //Server settings $mail->isSMTP(); // Use SMTP $mail->Host = 'smtp.example.com'; // Set the SMTP server (use your SMTP provider) $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'your_email@example.com'; // SMTP username $mail->Password = 'your_password'; // SMTP password $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption, `ssl` also accepted $mail->Port = 587; // TCP port to connect to (587 is common for TLS) //Recipients $mail->setFrom('your_email@example.com', 'Your Name'); $mail->addAddress('recipient@example.com', 'Recipient Name'); // Add recipient $mail->addReplyTo('reply_to@example.com', 'Reply Address'); // Add a reply-to address // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = 'Test Email Subject'; $mail->Body = 'This is a <b>test email</b> sent using PHPMailer and SMTP.'; $mail->AltBody = 'This is a plain-text version of the email for non-HTML email clients.'; // Send the email $mail->send(); echo 'Message has been sent'; } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; }
Permulaan PHPMailer:
Konfigurasi Pelayan SMTP:
Menetapkan Pengirim dan Penerima:
Menetapkan Kandungan E-mel:
Menghantar E-mel:
Untuk mengelakkan e-mel pergi ke folder spam, adalah penting untuk mengikuti amalan terbaik ini:
Gunakan Pembekal SMTP yang Bereputasi:
Menggunakan penyedia SMTP yang dipercayai seperti Gmail, SendGrid atau Mailgun meningkatkan kebolehhantaran kerana mereka kurang berkemungkinan dibenderakan sebagai spam.
Sahkan Domain Anda:
Sediakan rekod SPF (Rangka Kerja Dasar Pengirim), DKIM (Mel Dikenalpasti DomainKeys) dan DMARC (Pengesahan, Pelaporan & Pematuhan Mesej berasaskan Domain) untuk anda domain untuk mengesahkan kesahihan e-mel anda.
Elakkan Kandungan Spam:
Pastikan kandungan e-mel anda bersih dan tidak dibenderakan sebagai spam. Elakkan penggunaan huruf besar berlebihan, perkataan spam (seperti "percuma", "pemenang", dll.), dan terlalu banyak pautan.
Gunakan Alternatif Teks Biasa:
Sentiasa sertakan versi teks biasa e-mel anda ($mail->AltBody). Sesetengah pelanggan e-mel membenderakan e-mel HTML sahaja sebagai mencurigakan.
Elakkan Perkhidmatan E-mel Percuma sebagai Pengirim:
Gunakan alamat e-mel profesional daripada domain anda sendiri dan bukannya perkhidmatan percuma seperti Gmail, Yahoo, dsb., untuk mengelak daripada dibenderakan sebagai spam.
Hadkan Bilangan Penerima setiap E-mel:
Jika menghantar e-mel pukal, gunakan perkhidmatan e-mel pukal yang betul dan bukannya menghantar kepada banyak penerima dalam satu mesej untuk mengelak daripada dibenderakan kerana menghantar spam.
Muat naik fail send_email.php ke pelayan anda dan jalankannya dalam penyemak imbas atau melalui baris arahan:
php send_email.php
Jika konfigurasi betul, anda akan melihat mesej:
Message has been sent
If there’s an error, it will display:
Message could not be sent. Mailer Error: {Error Message}
By using PHPMailer and a proper SMTP setup, you can ensure your emails are sent reliably and with a lower chance of landing in the spam folder. Here's a quick summary:
This approach ensures better deliverability and reduces the chances of your emails being marked as spam.
Feel free to follow me:
Das obige ist der detaillierte Inhalt vonE-Mails sicher mit PHP zustellen: Eine Anleitung zur Verwendung von SMTP für Spam-freie E-Mails. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!