Puncte:0

E-mailul text/html din mai multe părți de la Comunitatea Invision nu este analizat corect

drapel jp

În primul rând, da, am contactat asistența comunitară Invision. Da, sunt un utilizator plătitor cu o licență activă. Am mers înainte și înapoi timp de câteva ore și tot ce au de spus este că nu este nimic în neregulă cu software-ul lor și trebuie să-mi repar serverul.

Folosesc CentOS 7.9.2009, PHP 8.0.7, Apache 2.4.6 și Exim 4.94.2.

Când Invision Communtiy trimite e-mailuri, valoarea De la: spune Apache sau Root în loc de numele forumului, iar partea html a e-mailului arată doar cod în loc să aibă o parte text și o parte html.

De asemenea, am cod php pe care l-am scris eu folosind funcția mail() de pe același server folosind aceeași versiune de php și tot ce trimite e-mailuri perfecte cu mai multe părți.

Comparând sursa unui e-mail trimis de Invision și a unui e-mail trimis prin codul meu, am observat că anteturile De la: și tipul de conținut: din e-mail-ul Invision sunt indentate într-un spațiu, iar aceleași anteturi pe e-mailurile trimise de codul meu nu are niciun spațiu alb în fața lor. Aceste anteturi par să fie ignorate de clientul de e-mail. Iată cum arată sursa:

Versiunea MIME: 1.0
 De la: =?UTF-8?B?SGVsaW9OZXQ=?= <[email protected]>
 Data: marți, 29 iunie 2021 19:04:36 +0000
 Trimis automat: generat automat
 Tip de conținut: mai multe părți/alternativ; boundary="--==_mimepart_3d7970817fa277e018f1936f5865d582"; set de caractere=UTF-8
 Codare de transfer de conținut: 8 biți
ID-ul mesajului: <[email protected]>

Observați spațiul unic din fața De la, Data, Trimis automat și Tipul de conținut.

Iată cum arată acele anteturi pe un e-mail care se afișează corect de pe același server:

Versiunea MIME: 1.0
De la: „Exemplu” <[email protected]>
Listă-Dezabonare: <mailto:[email protected]>, <https://www.example.com/unsubscribe/?c=3d9795e2646d156972cdf58655c758bd
Tip de conținut: multipart/alternative;boundary=helio60db72e0c0005
ID-ul mesajului: <[email protected]>
Data: marți, 29 iunie 2021 19:22:08 +0000
X-AntiAbuse: acest antet a fost adăugat pentru a urmări abuzul, vă rugăm să îl includeți în orice raport de abuz

În primul rând, aceste spații ar cauza problemele pe care le văd?

În al doilea rând, dacă spațiile sunt problema, cum pot să le repar?

Săpând în codul Invision, se pare că folosesc pachetul PHP Pear Mail https://pear.php.net/package/Mail Evident, este probabil o idee proastă să editați codul lui Invision sau codul lui Pear, deoarece orice modificări ar fi probabil suprascrise data viitoare când actualizez. Există setări de server pe care le-aș putea modifica pentru a remedia acest lucru? Anunțați-mă dacă aveți nevoie de informații suplimentare și voi edita. Mulțumesc!

Michael Hampton avatar
drapel cz
Unicul spațiu de la început se numește spațiu alb pliabil, iar conținutul unor astfel de linii este considerat o continuare a liniei anterioare. Astfel, acel mesaj are DOAR anteturile MIME-Version (cu o valoare destul de bizară și probabil nevalidă) și Message-Id. Invision Community cu siguranță nu face acest lucru, așa că problema este probabil în altă parte. De ce acest sistem folosește Exim? Aceasta este o alegere foarte ciudată și rar întâlnită în afara unor nișe, cum ar fi găzduirea web în masă.
Krydos avatar
drapel jp
Serverul este un server cPanel, iar cPanel a instalat Exim.
Michael Hampton avatar
drapel cz
Aha. Apoi următoarea ta oprire ar trebui să fie suportul cPanel. De fapt, nu acceptăm întrebări despre sistemele cPanel aici.
Krydos avatar
drapel jp
Oh scuze. Nu mi-am dat seama de asta. Mulțumiri!
Paul avatar
drapel cn
@Krydos Ar trebui să vă închideți întrebarea, deoarece este considerată off-topic aici la Server Fault din cauza instalării panoului de control al găzduirii web, dar vă rugăm să reveniți și să puneți întrebări pe alte subiecte.
Krydos avatar
drapel jp
Am rezolvat-o eu prin editarea codului lui Invision și nu avea nicio legătură cu cPanel. Evident că sunt nou aici, dar nu ar fi mai bine să ai un răspuns acceptat decât să-l șterg în întregime?
Puncte:1
drapel jp

Am reușit să rezolv această problemă editând codul Invision și schimbând o apariție a PHP_EOL în „\r\n”. Sper că vor include modificările mele în versiunile viitoare ale software-ului lor.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.