mail functie content opmaak weg
Als ik vanuit een database een mail verstuur gaat dit prima, het gaat om de content ervan. Deze content staat voor een deel in het script en wordt voor een deel opgehaald uit de database.
In de database staat deze content met opmaak bewaard, maar als ik deze oproep met de mail functie en verstuur is heel de opmaak weg en is het 1 lap tekst achter elkaar geworden.
Ik heb al van alles geprobeerd, op internet gezocht, maar ik heb nog geen oplossing gevonden.
Is er iemand die hier een oplossing voor heeft of mij de juiste kant kan opsturen.
Data tot nu toe gebruikt:
mail($_POST['emailadres'], "Bevestiging".$_POST['onderwerp'], ".$contentklant.", "From: ".$klantnaam."<".$klantemail.">\r\nCc: ".$klantemailcc."<".$klantemailcc.">" );
$contentklant = "tekstekst tekst $inhouddatabase";
Gewijzigd op 01/01/1970 01:00:00 door Sander van Schalken
Je moet dat dus toevoegen aan de headers (is 4e parameter)
bv.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$headers="From: [email protected] \r\n";
$headers.="Reply-to: [email protected] \r\n";
$headers .= "Content-type: text/html;
charset=iso-8859-1\r\n";
mail($_POST['emailadres'],
"Bevestiging".$_POST['onderwerp'],
".$contentklant.",
$headers );
?>
$headers="From: [email protected] \r\n";
$headers.="Reply-to: [email protected] \r\n";
$headers .= "Content-type: text/html;
charset=iso-8859-1\r\n";
mail($_POST['emailadres'],
"Bevestiging".$_POST['onderwerp'],
".$contentklant.",
$headers );
?>
ps. en ipv ".$contentklant.", mag je gewoon $contentklant, doen hoor !!
Gewijzigd op 01/01/1970 01:00:00 door - Roland -
Content Type had ik al eerder toegevoegd als header, maar toch jouw oplossing geprobeerd, maar zonder resultaat, nog steeds een lange tekst (het ziet er wel anders uit; text/html komt dus wel binnen).
Ik heb het idee dat het te maken heeft met de manier waarop ik het content gedeelte uit de database haal.
Gewijzigd op 01/01/1970 01:00:00 door Sander van Schalken
Ligt namelijk aan\r\n, dit moet zijn alleen \n.
Dat werkte bij mij.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$headers .= "From: [email protected] \n";
$headers .= "Reply-to: [email protected] \n";
$headers .= "Content-type: text/html; charset=iso-8859-1 \n";
mail($_POST['emailadres'], "Bevestiging".$_POST['onderwerp'], ".$contentklant.", $headers );
?>
$headers .= "From: [email protected] \n";
$headers .= "Reply-to: [email protected] \n";
$headers .= "Content-type: text/html; charset=iso-8859-1 \n";
mail($_POST['emailadres'], "Bevestiging".$_POST['onderwerp'], ".$contentklant.", $headers );
?>
Gewijzigd op 01/01/1970 01:00:00 door Guido S
- wat werkt niet
Als het alleen om de regelovergang(en) gaat, (content komt bv uit een formulier area deel), dan kun je de newline(s) met de functie nl2br omzetten naar een break
Het is mijn antivirus die er problemen mee heeft.
De volgende melding stond er in de email:
X-Antivirus: AVG for E-mail 8.0.175 [269.4.2/1782]
Vervolgens in de webmail gekeken en daar ziet de opmaak er prachtig uit.
Ik vraag me alleen af waarom AVG er problemen van maakt, of ook anders gezegd, welke data moet ik in de headers toevoegen zodat AVG geen melding meer geeft.
In ieder geval bedankt dat je me op de headers hebt gewezen!
met de volgende regel werkt alles:
$mailheader = "From: \"".$klant."\"<".$kalntemail.">; Reply-to: $klant2; MIME-Version: 1.0; Content-type: text/html; charset=iso-8859-1\r\n";
Mime version moest er dus bij !!