Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah pengepala fungsi mel() PHP saya \'Dari\' diabaikan dan bagaimana saya boleh membetulkannya?

Mengapakah pengepala fungsi mel() PHP saya \'Dari\' diabaikan dan bagaimana saya boleh membetulkannya?

DDD
Lepaskan: 2024-12-01 10:54:09
asal
543 orang telah melayarinya

Why is my PHP mail() function's

Isu Pengepala "Dari" dalam Mel PHP

Dalam percubaan untuk meningkatkan fungsi pengguna, tapak web telah dibangunkan untuk menghantar e-mel secara automatik kepada pengguna pendaftaran. Kod PHP yang digunakan untuk tugas ini diperincikan di bawah:

<?php
$to = "[email&#160;protected]";
$subject = "Test mail";
$message = "Hello! \nThis is a simple email message.";

$headers = "From: [email&#160;protected]";
$headers .= "\r\nReply-To: [email&#160;protected]";
$headers .= "\r\nX-Mailer: PHP/".phpversion();

mail($to,$subject,$message,$headers);

echo "Mail Sent.";
?>
Salin selepas log masuk

Setelah menghantar e-mel melalui kod ini, isu yang tidak dijangka timbul. Pengepala "Daripada" yang dipaparkan dalam e-mel yang dihantar kekal sebagai "[emel dilindungi]", manakala pengepala "Balas Kepada" dengan betul mencerminkan nilai "[emel dilindungi]" yang ditentukan. Pelayan mel yang digunakan ialah box123.bluehost.com.

Punca Isu

Selepas siasatan lanjut, telah ditentukan bahawa penggunaan alamat Gmail sebagai " Dari" nilai adalah punca masalah. Pembekal Perkhidmatan Internet (ISP), termasuk Bluehost, biasanya mengehadkan penggunaan alamat e-mel luaran sebagai nilai "Daripada" untuk mengelakkan penipuan e-mel. Akibatnya, ISP menimpa alamat "Daripada" dengan nilai lalainya.

Penyelesaian

Untuk menangani isu ini dan mengubah hala balasan ke alamat yang dimaksudkan, ia adalah disyorkan untuk menggunakan pengepala "Balas Kepada" sebaliknya. Selain itu, parameter kelima boleh ditambah pada fungsi mail() seperti yang ditunjukkan di bawah:

mail($to,$subject,$message,$headers,"-f [email&#160;protected]");
Salin selepas log masuk

Parameter ini menentukan pilihan "-f", yang membenarkan tetapan manual pengepala "Daripada" untuk banyak ISP .

Atas ialah kandungan terperinci Mengapakah pengepala fungsi mel() PHP saya \'Dari\' diabaikan dan bagaimana saya boleh membetulkannya?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan