HTML mailen met php lukt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Remy Brokke

Remy Brokke

05/12/2007 14:46:00
Quote Anchor link
Sinds mijn host de laatste php versie heeft geupdate lukt het mij niet meer om van de server een mail met HTML er in verwerkt, te versturen. Hij komt namelijk zo bij mij in het postvakje terecht (Gmail):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
MIME-Version: 1.0

Content-type: text/html; charset=iso-8859-1

X-Mailer: PHP/5.2.5
Message-Id: <[email protected]>
Date: Wed, 28 Nov 2007 23:55:54 +0100 (CET)

<html><head><title>Pipo</title></head><body>Test message</body></html>


Voor de geinterreseerden dit is het script: Klik

Ook als ik het orginele bericht bekijk via Gmail ziet alles er normaal alleen verstuurt hij de headers letterlijk in plaats van ze als headers te versturen.

Wie o wie heeft dit probleem nog meer of wie kan mij helpen met dit probleem?

Met vriendelijke groet,

Rémy
Gewijzigd op 01/01/1970 01:00:00 door Remy Brokke
 
PHP hulp

PHP hulp

18/07/2024 01:39:41
 
Bart van der veen

bart van der veen

05/12/2007 14:55:00
Quote Anchor link
php.net zet header regels tussen enkele quotes ipv dubbele..... geen idee of dat het verschil maakt...

http://nl3.php.net/manual/nl/function.mail.php

in mijn eigen scripts in het ook met dubbele...
 
Joren de Wit

Joren de Wit

05/12/2007 14:55:00
Quote Anchor link
Het komt waarschijnlijk doordat er geen newlines tussen je headers zitten. Jij gebruikt 'rn' waar je '\r\n' zou moeten gebruiken.

Tip: Gebruik een klasse als Swift Mailer om je mailtjes te versturen. Dan is het gerommel met headers om een HTML mailtje te versturen, direct verleden tijd.

ps. @Bart: de headers hoeven niet per se tussen dubbele quotes te staan. Het gaat enkel om de linebreaks (\r\n) die wel dubbele quotes nodig hebben om goed geinterpreteerd te worden.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Remy Brokke

Remy Brokke

05/12/2007 15:09:00
Quote Anchor link
Bedankt allebei. Helaas heeft plaatscode de backslashes verwijderd. Dit is namelijk het script wat draait op de server:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?PHP
        $aan
= "[email protected]";
        $onderwerp = "Testmail!";

        $headers = "Return-Path: <[email protected]>\r\n";
        $headers .= "From: Tester  <[email protected]>\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers .= "X-Mailer: PHP/".phpversion();


        
        $body= "<html><head><title>Pipo</title></head><body>Test message</body></html>";
        
        if(!mail($aan, $onderwerp, $body, $headers))
          {

            echo "Niet gelukt";
          }

        else
          {
            echo "Gelukt!";
          }

?>


Ik heb de dubbele quote's van de header's nu omgezet in enkele quote's en ook dit werkt niet.
Gewijzigd op 01/01/1970 01:00:00 door Remy Brokke
 
Frank -

Frank -

05/12/2007 15:31:00
Quote Anchor link
Repeat:
Quote:
Tip: Gebruik een klasse als Swift Mailer om je mailtjes te versturen. Dan is het gerommel met headers om een HTML mailtje te versturen, direct verleden tijd.
 
Remy Brokke

Remy Brokke

05/12/2007 15:54:00
Quote Anchor link
Ik ben op dit moment inderdaad bezig met Swift Mailer. Het probleem is dat er een server of iets dergelijke ingevuld moet worden. Ik heb alleen geen kennis van Linux of zoiets dergelijke. Daarom weet ik niet wat ik bij deze regel moet invullen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$swift =& new Swift(new Swift_Connection_SMTP("server.tld", 25));


Die 25 zal de poort wel zijn (ik weet dat het een poort is maar wat een poort doet: geen idee). Hieronder de rest van het script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

require_once "SwiftMailer/Swift.php";
require_once "SwiftMailer/Swift/Connection/SMTP.php";
 
$swift =& new Swift(new Swift_Connection_SMTP("server.tld", 25));

$message = "<html><head><title>PHP</title></head><body>Aight</body></html>";
 
$message =& new Swift_Message("Test mail!", $message, "text/html");
 
if ($swift->send($message, "[email protected]", "[email protected]"))
{

    echo "Message sent";
}

else
{
    echo "Message failed to send";
}

 
$swift->disconnect();

?>
 
Frank -

Frank -

05/12/2007 16:02:00
Quote Anchor link
Jouw hostingprovider kan je deze informatie verstrekken, wellicht heeft hij je deze informatie in het verleden al toegestuurd.

Overigens kent Swift Mailer diverse mogelijkheden om een verbinding te maken, zie de handleiding.
 
Remy Brokke

Remy Brokke

05/12/2007 17:01:00
Quote Anchor link
Dank jullie wel allemaal! Het is gelukt. :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.