Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah fungsi mel() PHP saya gagal pada Windows 8 dan bagaimana saya boleh membetulkan ralat \'Gagal disambungkan ke pelayan mel di \'localhost\' port 25\'?

Mengapakah fungsi mel() PHP saya gagal pada Windows 8 dan bagaimana saya boleh membetulkan ralat \'Gagal disambungkan ke pelayan mel di \'localhost\' port 25\'?

Patricia Arquette
Patricia Arquetteasal
2024-11-27 18:20:14932semak imbas

Why is my PHP mail() function failing on Windows 8, and how can I fix the

Menyelesaikan Masalah Menghantar E-mel dengan Fungsi Mel PHP pada Windows 8

Jika anda menghadapi ralat seperti "Gagal menyambung ke pelayan mel di 'localhost' port 25" apabila menggunakan fungsi PHP mail() pada Windows 8, ia menunjukkan isu dengan tetapan pelayan SMTP. Begini cara untuk menyelesaikannya:

Untuk mendayakan penghantaran e-mel melalui PHP pada Windows 8, anda perlu memasang dan mengkonfigurasi pelayan SMTP. Daripada tiga pilihan yang disebutkan (sendmail, msmtp dan ssmtp), sendmail biasanya digunakan pada sistem Windows.

Langkah-langkah untuk Mengkonfigurasi Sendmail pada Windows 8:

1. Pasang Apache, PHP dan Sendmail

  • Pastikan Apache, PHP dan Sendmail dipasang pada sistem anda.

2. Ubah suai Tetapan php.ini

  • Buka fail php.ini (terletak dalam direktori pemasangan PHP anda) dan buat perubahan berikut:
SMTP=smtp.your-smtp-server.com
smtp_port=your-smtp-server-port (usually 587 or 25)
sendmail_from = [email protected]
sendmail_path = "\"C:\path-to-sendmail\sendmail.exe\" -t"

3. Konfigurasikan sendmail.ini

  • Buat fail bernama sendmail.ini dalam direktori yang sama seperti php.ini dan tambah kandungan berikut:
smtp_server=smtp.your-smtp-server.com
smtp_port=your-smtp-server-port
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=your-smtp-server-password
[email protected]

4. Gantikan sendmail_path dalam php.ini (jika perlu)

  • Jika terdapat tetapan sendmail_path dalam fail php.ini (cth., sendmail_path="C:xamppmailtodiskmailtodisk.exe"), ulaskannya keluar.

Nota:

  • Ganti "your-smtp-server.com" dan "your-smtp-server-port" dengan nilai yang sesuai untuk pelayan SMTP anda.
  • Dalam fail sendmail.ini, kemas kini alamat e-mel dan kata laluan anda kelayakan pelayan SMTP sebenar.

5. Ujian Penghantaran E-mel

  • Buat skrip PHP mudah seperti yang disediakan dalam soalan asal.
  • Jalankan skrip dan sahkan jika e-mel berjaya dihantar.

Jika anda menghadapi sebarang isu lanjut, semak log ralat untuk mendapatkan butiran lanjut.

Atas ialah kandungan terperinci Mengapakah fungsi mel() PHP saya gagal pada Windows 8 dan bagaimana saya boleh membetulkan ralat \'Gagal disambungkan ke pelayan mel di \'localhost\' port 25\'?. 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