Bonjour,
Sur symfony 1.4.1
Je rencontre 2 problèmes lorsque j'essaie d'envoyer un mail depuis une task symfony. Voici le code que j'utilise pour la méthode execute() de ma task :
1/ Premier problème, la task retourne une erreur et aucun mail n'est envoyé lorsque je précise les noms des destinataires en plus des adresses mail :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 protected function execute($arguments = array(), $options = array()) { $to = array( 'foo@example.com' => 'Mr Foo', 'bar@example.com' => 'Miss Bar', ); $this->getMailer()->composeAndSend('from@example.com', $to, 'Subject', 'Body'); }
Warning: mail(): SMTP server response: 501 <Mr Foo <foo@example.com>>: "@" or "." expected after "Mr" in C:\mondossierwww\monprojet\lib\vendor\symfony\lib\vendor\swiftmailer\classes\Swift\Transport\SimpleMailInvoker.php on line 50
Pour faire fonctionner l'envoi, je dois utiliser un array qui ne comporte que les adresses mail :
Alors que les tableaux de destinataires avec adresse mail + nom fonctionnent très bien dans le reste de mon application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $to = array( 'foo@example.com', 'bar@example.com', );
Comment faire pour pouvoir les utiliser également dans les Task ?
2/ Le deuxième problème est que symfony ne semble pas récupérer le charset que je lui indique dans le fichier settings.yml.
Pour faire mon envoi de mail, j'ai du copier tous les fichiers de configuration yml du répertoire /app/APP_NAME/config vers /config pour utiliser ma configuration pour SwiftMailer, pour le charset à utiliser, etc...
Cependant, lorsque je lance ma task, l'objet du mail est vide si il comporte des caractères spéciaux. Pour que l'objet du mail utilise le bon encodage, je dois le spécifier en plus dans le fichier ProjectConfiguration.class.php
Ce qui ne me semble pas logique puisque l'encodage devrait être récupéré depuis le settings.yml.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sfConfig::set('sf_charset', 'UTF-8');
Comment peut-on faire pour que symfony charge la configuration des fichiers yml dans le bon ordre quand on utilise une Task ?
Partager