mail functie content opmaak weg

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sander van Schalken

Sander van Schalken

12/11/2008 11:11:00
Quote Anchor link
Ik loop tegen een probleem aan met de mailfunctie.
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
 
PHP hulp

PHP hulp

22/11/2024 07:53:06
 
- Roland -

- Roland -

12/11/2008 11:29:00
Quote Anchor link
Je moet wel aangeven dat de mail als html (ipv plain text) moet worden verstuurd.

Je moet dat dus toevoegen aan de headers (is 4e parameter)

bv.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 );
?>


ps. en ipv ".$contentklant.", mag je gewoon $contentklant, doen hoor !!
Gewijzigd op 01/01/1970 01:00:00 door - Roland -
 
Sander van Schalken

Sander van Schalken

12/11/2008 11:48:00
Quote Anchor link
Bedankt voor de tip, maar het werk bij mij niet.

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
 
Guido S

Guido S

12/11/2008 12:00:00
Quote Anchor link
Volgens mij moet dit wel werken.
Ligt namelijk aan\r\n, dit moet zijn alleen \n.
Dat werkte bij mij.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 );
?>
Gewijzigd op 01/01/1970 01:00:00 door Guido S
 
- Roland -

- Roland -

12/11/2008 12:01:00
Quote Anchor link
- Wat voor opmaak bedoel je ?

- 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
 
Sander van Schalken

Sander van Schalken

12/11/2008 12:16:00
Quote Anchor link
Ik het probleem gevonden, alleen nog niet verholpen.
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!
 
Sander van Schalken

Sander van Schalken

12/11/2008 13:41:00
Quote Anchor link
Ik heb de oplossing gevonden... schijnbaar is mijn (of misschien alle anti virus scanners) erg gevoelig geworden. Gevolg hiervan is dat je bij mij niet met meerdere headers ($header = xxx; header .=xxxx etc.) kunt werken.
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 !!
 



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.