Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah fungsi PHP mail() saya gagal menghantar e-mel pada Windows 8?

Mengapakah fungsi PHP mail() saya gagal menghantar e-mel pada Windows 8?

Susan Sarandon
Susan Sarandonasal
2024-11-24 12:08:14905semak imbas

Why is my PHP mail() function failing to send emails on Windows 8?

Tidak Dapat Menghantar E-mel dengan Fungsi Mel PHP pada Windows 8

Latar Belakang:

Bila cuba menghantar e-mel dengan fungsi mel PHP pada Windows 8, pengguna mungkin menghadapi perkara berikut ralat:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\mail.php on line 9

Punca:

Ralat ini biasanya menunjukkan salah konfigurasi dalam tetapan PHP anda atau ketiadaan perisian penting yang diperlukan untuk penghantaran e-mel.

Penyelesaian:

Untuk menyelesaikan isu dan membolehkan penghantaran e-mel melalui PHP pada Windows 8, ikuti langkah berikut:

  1. Pasang Sendmail atau Setaraf:

    Anda perlu memasang Ejen Pemindahan Mel (MTA) seperti Sendmail, MSmtp atau Ssmtp. Program ini bertanggungjawab untuk menghantar e-mel bagi pihak anda. Untuk tujuan demonstrasi ini, kami akan memasang Sendmail.

  2. Konfigurasikan php.ini:

    • Buka php.ini fail dan cari yang berikut tetapan:

      • SMTP: Tetapkan ini pada pelayan SMTP yang anda ingin gunakan, cth., "smtp.gmail.com."
      • smtp_port : Nyatakan nombor port yang digunakan oleh pelayan SMTP anda, cth., "587."
      • sendmail_from: Masukkan alamat e-mel penghantar lalai.
      • sendmail_path: Tetapkan ini kepada laluan ke Sendmail boleh laku, mis. , "C:xamppsendmailsendmail.exe" -t."
  3. Konfigurasikan Sendmail.ini:

    • Buka sendmail.ini fail dan nyatakan yang berikut tetapan:

      • smtp_server: Masukkan alamat pelayan SMTP.
      • smtp_port: Tetapkan nombor port pelayan SMTP.
      • error_logfile: Tentukan fail log untuk menangkap sebarang ralat.
      • debug_logfile: Konfigurasikan fail log untuk tujuan penyahpepijatan.
      • Kelayakan: Tambahkan alamat e-mel dan kata laluan anda untuk pengesahan.
  4. Mulakan Semula Pelayan Web:

    Mulakan semula pelayan web anda, seperti Apache atau Nginx, untuk menggunakan perubahan.

Selepas melengkapkan langkah ini, anda harus berjaya menghantar e-mel menggunakan fungsi mel PHP pada Windows 8. Ingat, konfigurasi dan keperluan perisian tertentu mungkin berbeza sedikit bergantung pada pembekal e-mel khusus anda dan persediaan sistem.

Atas ialah kandungan terperinci Mengapakah fungsi PHP mail() saya gagal menghantar e-mel pada Windows 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn