Je rencontre un petit souci avec l'envoi de mes mails quand sous certaines conditions.
Quand la variable $sujet est définie comme ceci :
$sujet='c\'est un sacré sujet';
Le mail est envoyé, mais le problème est le suivant : mon extranet gère trois langues, français, espagnol et anglais et pour envoyer mes mails dans une langue donnée, je dois parser le sujet.
J'ai des tableaux selon les langues
Voici :
<?php
$array['fr']=array(
'C_EST_UN_SUJET'=>'C\'est un sujet'
);
$array['es']=array(
'C_EST_UN_SUJET'=>'Es un sujeto'
);
$array['en']=array(
'C_EST_UN_SUJET'=>'This is a subject'
);
// Et je parse le sujet comme ceci
$sujet=$array['fr']['C_EST_UN_SUJET'];
?>
Même en ajoutant un addslashes(), idem, le mail ne part pas...
Du coup c'est embêtant, le sujet du mail dans la bonne langue, c'est plutôt bien et important...
C'est bizarre, une fois la variable définie, il devrait pas y avoir de problème non ? Ou si ?
[EDIT]
J'ai trouvé une solution "non propre" qui me fait avancer sur le problème :
Du coup, ça marche quand c'est en espagnol et en anglais, mais pas en français.
Je pensais que ça pouvait être l'apostrophe mais même pas car quand je remplace l'apostrophe par un espace ça n'envoie pas...
Le ç cédille ? Je le remplace par un c tout court, et ça marche...
Un problème d'encodage ?
{Edit 2]
Du coup, après plusieurs tests... finalement, c'est ni accents, ni ç çédilles ni autres caractères particuliers non testés sûrement... bien embêtant tout ça.
Bonjour, j'utilise simplement la fonction mail() de php, sans autre librairie.
donc comme ceci :
mail($to, $sujet, $message, $header);
[EDIT]
Du coup, on m'a soufflé la solution dans un autre forum, je le laisse ici au cas où ça pourrait servir à quelqu'un.
Il faut encoder le titre comme ceci :
<?php
$subject = 'Titre à problèmes'
$subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
?>
Et le mail s'envoie, avec accents, tirets, etc, etc
- Edité par djkori 23 mars 2019 à 14:54:41
Souci avec fontion mail()
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Freelance développeur Symfony