HTML mailen met php lukt niet
Code (php)
1
2
3
4
5
6
7
8
9
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>
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
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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!";
}
?>
$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
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.
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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();
?>
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();
?>
Overigens kent Swift Mailer diverse mogelijkheden om een verbinding te maken, zie de handleiding.
Dank jullie wel allemaal! Het is gelukt. :)