Mel PHP menghantar pengepala rosak
P粉979586159
P粉979586159 2023-09-07 10:43:50
0
1
492

Saya sedang berusaha untuk menghantar e-mel daripada skrip PHP. Apabila fungsimail()dicetuskan, peti mel penerima dihoskan oleh perkhidmatan tertentu (seznam.cz) dan mesej dimuat turun ke klien mel (Mozilla Thunderbird) dan disemak oleh ESET Antivirus, mesej itu nampaknya rosak.

Saya percaya bahawa isu ini disebabkan oleh perisian antivirus yang memasukkan pengepala khas dalam mesej mel dan meninggalkan baris kosong selepasnya:

... Subject: =?UTF-8?B?Tm92w70gxI1sZW4gd2VidSBBU1AgxIxSIQ==?= X-EsetId: 37303A298C7FEE69657363 X-PHP-Originating-Script: 80:script.php MIME-Version: 1.0 Content-type:text/html;charset=UTF-8 ...

Pelanggan e-mel saya menganggap mesej itu adalah teks biasa dan bermula dengan barisX-PHP-Originating-Script. Baki mesej termasuk semua penanda HTML.

Ini adalah skrip yang saya gunakan untuk menghantar e-mel:

$subject = mb_encode_mimeheader('Subject text'); $emailBody = '  ... '; $emailAltBody = "..."; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $headers .= 'From: ' . "\r\n"; $result = mail("email.address@example.com", $subject, $emailBody, $headers);

Namun, apabila menggunakan rangka kerja Laravel, e-mel dihantar dan dipaparkan dengan betul. Saya membandingkan perbezaan dan menyedari bahawa pengepalaX-PHP-Originating-Scripttidak dihantar oleh Laravel.

Bolehkah ini sebabnya? Bagaimana saya boleh menyelesaikannya?

P粉979586159
P粉979586159

membalas semua (1)
P粉573943755

Ia mungkin hanya masalah pemisah talian yang berbeza.

Sehingga PHP 7.4pembatas selepas X-PHP-Originating-Script hanyalahn(ini telah berubahMenggunakann(这已更改在 PHP 8中使用rndalam PHP 8dan lebih baru lagidalam master

membuat keputusan berdasarkan faktor lain).

rnMemandangkan semua pengepala lain disambungkan menggunakan

, perisian antivirus mungkin menyebabkan kekeliruan semasa menambah pengepala. Ini menghasilkan baris baharu berganda, yang ditafsirkan oleh pelanggan sebagai permulaan badan.

nrLihat mesej asal dengan editor yang memaparkan semua aksara (termasuk

) dan anda mungkin memahaminya dengan lebih baik.

mail.add_x_header = Off时删除X-PHP-Originating-ScriptPenyelesaian adalah untuk memadankan penghujung baris versi PHP, atau tetapkan semua

pengepala > dalam php.ini.
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!