e-mail wordt niet goed verzonden

Status
Niet open voor verdere reacties.

Niellles

Gebruiker
Lid geworden
21 jun 2008
Berichten
194
Als ik het volgende stukje code op mijn localhost uitvoer krijg ik netjes een mailtje met daarin "hoi". Als ik het echter op mijn host van webreus uitvoer wordt de complete html als tekst verstuurd
PHP:
<?php
	$to = '****';
	$subject = 'test';
	$bericht = '<html><body>test</body></html>';
	$headers = 'MIME-Version: 1.0' . "\r\n";
	$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
	$headers .= 'From: administrator@wittenertipprunde.de';
					
	ini_set("SMTP", "smtp.versatel.nl");
	ini_set("smtp_port", 25);
					
	mail($to, $subject, $bericht, $headers)
?>
Email die van de host komt:
Content-type: text/html; charset=iso-8859-1
From: (administrator@.......nl
Return-Path: anonymous@............webreus.nl
X-OriginalArrivalTime: 20 Oct 2009 14:52:33.0052 (UTC) FILETIME=[F4617DC0:01CA5194]

<html><body>test</body></html>

Op het internet kom ik wel meer mensen tegen met het probleem maar heb niet echt een goede oplossing kunnen vinden... Iemand die kan helpen, of moet ik gewoon webreus even mailen??
 
De ini_set zou ik weghalen, Webreus heeft waarschijnlijk een andere uitgaande server.
 
Daar heb je gelijk in, het is echter niet de oplossing voor mijn probleem :(...
Ik krijg nog steeds het rare mailtje
 
Ik neem aan dat je de mail in dezelfde omgeving bekijkt?

Dus in webmail of in Outlook of een andere client.

Het lijkt haast alsof je client geen HTML-berichten ondersteunt.
 
Dat dacht ik ook al, maar het zelfde script vanaf mijn localhost geeft een mailtje zoals ik het wil (test in dit geval), zowel in outlook als windows live mail. Vervolgens het script via de host en het geeft in beide programma's de letterlijke html.
 
Ik heb webreus even gemaild, die zeiden me het volgende er van te maken: (\r bij de laatste verwijderen)
PHP:
<?php
    $to = '****';
    $subject = 'test';
    $bericht = '<html><body>test</body></html>';
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= 'From: administrator@wittenertipprunde.de';
                    
    ini_set("SMTP", "smtp.versatel.nl");
    ini_set("smtp_port", 25);
                    
    mail($to, $subject, $bericht, $headers)
?>

Dit werkte niet, ik heb vervolgens uit nieuwsgierigheid bij beide headers \r verwijderd en toen werkte het wel, dit kwam er zeg maar zo uit te zien:
PHP:
<?php
    $to = '****';
    $subject = 'test';
    $bericht = '<html><body>test</body></html>';
    $headers = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= 'From: administrator@wittenertipprunde.de';
                    
    ini_set("SMTP", "smtp.versatel.nl");
    ini_set("smtp_port", 25);
                    
    mail($to, $subject, $bericht, $headers)
?>

Waarom het zo werkt begrijp ik ook niet helemaal maar werken doet het zeker.
 
Als ik het me goed herinner is '\r\n' het newline (enter) teken voor Windows. Linux gebruikt alleen '\n' (en Mac OS tot versie 9 alleen '\r'). Als de servers van Webreus op Linux draaien kan het goed zijn dat het de newline niet "snapt" (er staat nog een raar teken voor) als je het Windows newline teken gebruikt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan