Rumah > pembangunan bahagian belakang > tutorial php > 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
Lepaskan: 2024-11-27 18:20:14
asal
1011 orang telah melayarinya

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"
Salin selepas log masuk

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]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan