Hallo

Mijn eerste bericht op dit forum..

Ik beheer voor een Franse club een website en heb onlangs de php versie 5.2 geupdate naar versie 5.6.
Via de website wordt een email verstuurd.

$headers = array();
$headers [] = 'MIME-Version: 1.0';
$headers [] = "Content-type: text/plain; charset= ISO-8859-1";
$headers [] = "From: ".$var_name." ".$var_firstname." <".$var_email."> \r\n";

Sinds de update werkt deze charset niet meer. Ik zal moeten wijzigen naar charset=UTF-8 ( Franse karakters )
Gmail gaat goed maar op eigen outlook client krijg ik de foutmelding dat de 'FROM' verkeerde karakters heeft.
De namen komen uit een database met de charset ingesteld op utf8-unicode_ci.

Ik ben al enige tijd aan het zoeken op het net maar kan geen oplossing vinden. Heb ook al geprobeerd met htmlentities and htmlspecialchars.
Het onderwerp van de email komt uit een html formulier en geeft dezelfde foutmelding.
Daarnaast wordt de berichtekst keurig weergegeven.

Ik vermoed een header probleem...

Kan iemand mij helpen ?

René
overweeg het gebruik van PHPMailer of Swiftmailer. Dat soort classes heeft dit soort problemen al uitgebreid bekeken en opgelost. Dan hoef je niet zelf alle wielen opnieuw uit te vinden.
Ivo
Dank je wel..Ik ga dat eens uitzoeken
Bedankt Ivo.
PhPMailer werkt voor wat betreft de speciale karakters prima.
Echter nu heb ik het probleem van de returns/linebreaks omdat PhPMailer de mails in html verstuurd en niet in plain text.
Zal anders een nieuw topic aanmaken.
Zie [php]nl2br[/php]()
Of gebruik ->isHtml() niet

Laat anders even zien hoe je phpmailer regels eruit zien
In de FROM hoort alleen plaintext lijkt me want dit zijn emailadressen. wat gebeurt er als je eerst de email addressen valideert?

<?php
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Dit is geen geldig emailaddress.";
}
?>

[size=xsmall]Toevoeging op 10/10/2014 08:40:07:[/size]

om accents te verwijderen zou je zoiets kunnen gebruiken:
<?php
function replace_accents($string)
{
return str_replace( array('à','á','â','ã','ä', 'ç', 'è','é','ê','ë', 'ì','í','î','ï', 'ñ', 'ò','ó','ô','õ','ö', 'ù','ú','û','ü', 'ý','ÿ', 'À','Á','Â','Ã','Ä', 'Ç', 'È','É','Ê','Ë', 'Ì','Í','Î','Ï', 'Ñ', 'Ò','Ó','Ô','Õ','Ö', 'Ù','Ú','Û','Ü', 'Ý'), array('a','a','a','a','a', 'c', 'e','e','e','e', 'i','i','i','i', 'n', 'o','o','o','o','o', 'u','u','u','u', 'y','y', 'A','A','A','A','A', 'C', 'E','E','E','E', 'I','I','I','I', 'N', 'O','O','O','O','O', 'U','U','U','U', 'Y'), $string);
}
?>
Bedankt voor jullie racties.
Zoals gezegd werken de speciale karakters prima met PHPMailer
Echter nu loop ik tegen het probleem aan dat de tekst in HTML worden verzonden en de ' returns' niet meeneemt
Heb inmiddels gevonden dat dit met PHPMAiler 'AltBody' is op te lossen.
Dit wil niet direct werken. Ben dit nog aan het uitzoeken/uitwerken.
Ik blijf steeds hangen op $mail->MsgHTML($message)..
@frank
In het from-veld kan ook een naam staan: from: frank <[email protected]>

Daarnaast kan zowel in de naam als in het mailadres een letter met 'accent' staan:

From: théo <theo@köln.de>

--
@rene
Ik denk dat je een te uitgebreid voorbeeld van phpmailer gebruikt

<?php

$m = new phpmailer()

$m->AddAdress('[email protected]');
$m->Subject = 'foobar';
$m->Body = 'gewoon plain text
Met enters

Bye';
$m->Send();

?>

[size=xsmall]Toevoeging op 15/10/2014 01:08:19:[/size]

@frank
In het from-veld kan ook een naam staan: from: frank <[email protected]>

Daarnaast kan zowel in de naam als in het mailadres een letter met 'accent' staan:

From: théo <theo@köln.de>

--
@rene
Ik denk dat je een te uitgebreid voorbeeld van phpmailer gebruikt

<?php

$m = new phpmailer()

$m->AddAdress('[email protected]');
$m->Subject = 'foobar';
$m->Body = 'gewoon plain text
Met enters

Bye';
$m->Send();

?>
Hallo

Ivm vakantie een wat late reactie.
Uiteindelijk heb ik de mail aangepast naar een simpele versie (bedankt Frank, Ivo) en het werkt naar behoren.
All verwijzingen naar HTML weggelaten. (IsHtml)
Mail->SetFrom()
Mail->To()
Mail->Subject=''
Mail->Body =''
Mail->Send()

Werkt perfect..Merci

Merci

Reageren