Just nu i M3-nätverket
Gå till innehåll

Problem med utgående HTML-mail & headers


Tobias Tuleby

Rekommendera Poster

Tobias Tuleby

Hej!

 

Jag har ett problem med att skicka iväg HTML-formaterade email

 

Vi har utvecklat en sajt och haft den på en egen server hos CityNetwork i Karlskrona. Allt har funkat bra, tills vi flyttade hela webbplatsen till en ny server i Panama. (http://www.offshore-web-hosts.com/)

 

Vi skickar ut mail via ett PHP-script, med dessa headers

 

$strHeaders = "From: \"SNG invest\" <info@snginvest.com>\r\n";
$strHeaders .= "Reply-To: info@snginvest.com\r\n";
$strHeaders .= "MIME-Version: 1.0\r\n";
$strHeaders .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$strHeaders .= "X-Priority: 3\r\n";
$strHeaders .= "X-MSMail-Priority: Normal\r\n";
$strHeaders .= "X-Mailer: PHP/". phpversion() ."\r\n";

 

De flesta som får mailen ser det korrekt, men oroväckande många ser bara några headers och sen bara HTML-koden, otolkad.. Så här var det inte innan flytten. Ett exempel på adresser som inte mottager mailet direkt är gmail (Google Mail). Då får man följande headers

 

Content-Type: text/html; charset=ISO-8859-1

X-Priority: 3

X-MSMail-Priority: Normal

X-Mailer: PHP/4.3.10

 

.. och sen bara otolkad HTML-kod

 

Den gamla servern var IIS på Windows med PHP 4.3.6

Den nya servern är Apache på Linux med PHP 4.3.10

 

Konfigurationen på den nya kan ses på

http://www.snginvest.com/phptest.php

 

 

En testsida för att skicka mail, och dess kod i textformat kan ses på:

http://www.snginvest.com/mail_test.php

http://www.snginvest.com/mail_test.php.txt

 

Tacksam för idéer om varför det kan vara så här. Jag har kollat med webhotellet och de säger sig ha andra kunder med fungerande PHP-HTML-utskick, så ngt fel måste jag ha gjort...

 

 

 

Länk till kommentar
Dela på andra webbplatser

Det beror på vad du använder för MTA och hur mailen skickas från PHP till MTA:n. I SMTP används \r\n för radbrytningar (som i DOS), medan *nix-system använder bara \n.

 

Så, om mailen skickas från PHP till MTA:n med SMTP ska \r\n användas, annars \n (här är den relevanta buggrapporten: http://bugs.php.net/bug.php?id=15841 ). Många MTA:er accepterar vilket som, medan andra är mer strikta.

 

Så, i korthet, prova att använda \n istället för \r\n för att avskilja raderna i SMTP-huvudet.

 

Länk till kommentar
Dela på andra webbplatser

Tobias Tuleby

Hej!

 

Jahaaaa, där ser man. Verkar ju iofs logiskt.

 

Provade nu och det verkar fungera mycket bättre!

 

Tusen tusen tack! :thumbsup::)

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...