Salut Romain,

Si tu veux charger la config email en utilisant le système de merge des configs (celle du package + celle de novius-os+ celle de ton local/config)
\Config::load('email', true);

Si tu veux spécifiquement celui qui est dans local/config je dirais
\Config::load('local::email', true);
Par Gilles FELIX , 9 janvier 2014 ·
Pour loadConfiguration, tu as inversé les 2 paramètres : le premier est le nom de l'application et le 2e le nom du fichier.

Mais utilises plutôt Config::load() parce que loadConfiguration va être déprécié dans la version suivante.

Sinon quand tu forges un objet email, le fichier de configuration est effectivement chargé. Tu peux y accéder avec un Config::get('email') (c'est le merge de la config du package + de celle de novius-os + de celle présente dans local).
Par Julian Espérat , 9 janvier 2014 ·
Ok ça a résolu le probleme de config. Maintenant ya plus d'erreur affichée mais le mail ne part pas. D'apres mon hébergeur les parametres sont bons. Un \Debug::dump($email) renvoie :

Variable #1:
(Object #123): Email\Email_Driver_Smtp ?

protected smtp_connection (Integer): 0
protected config (Array, 19 elements) ?
useragent (String): "Novius OS" (9 characters)
driver (String): "smtp" (4 characters)
is_html : null
charset (String): "utf-8" (5 characters)
encode_headers (Boolean): true
encoding (String): "8bit" (4 characters)
priority (String): "3 (Normal)" (10 characters)
from (Array, 2 elements) ?
return_path (Boolean): false
validate (Boolean): true
auto_attach (Boolean): true
generate_alt (Boolean): true
force_mixed (Boolean): false
wordwrap (Integer): 76
sendmail_path (String): "/usr/sbin/sendmail" (18 characters)
smtp (Array, 5 elements) ?
host (String): "smtp.flyaround.fr" (17 characters)
port (Integer): 587
username (String): "contact@flyaround.fr" (20 characters)
password (String): "***********" (11 characters)
timeout (Integer): 5
newline (String): "
" (1 characters)
attach_paths (Array, 4 elements) ?
defaults (Array, 9 elements) ?
protected to (Array, 1 element) ?
protected cc (Array, 0 elements)
protected bcc (Array, 0 elements)
protected reply_to (Array, 0 elements)
protected attachments (Array, 2 elements) ?
protected body (String): "Votre email a bien été ajouté à notre base de données et vous serez informé des dernières actualité ainsi que de la sortie du site\nCordialement,\nL'équipe de Flyaround" (177 characters)
protected alt_body (String): "" (0 characters)
protected subject (String): "Bienvenue sur Flyaround.fr" (26 characters)
protected invalid_addresses (Array, 0 elements)
protected boundaries (Array, 0 elements)
protected headers (Array, 0 elements)
protected extra_headers (Array, 0 elements)
protected type (String): "plain" (5 characters)


J'ai raté quelque chose ?
Par Romain , 9 janvier 2014 ·
J'en déduit que tu as un fichier local/config/email.config.php qui contient quelquechose dans le genre

return array(
'defaults' => array(
'driver' => 'smtp',
'smtp' => array(
'host' => 'smtp.flyaround.fr',
'port' => 587,
'username' => 'contact@flyaround.fr',
'password' => '***********',
'timeout' => 5,
),
),
);

Essayes en ajoutant aussi un from

return array(
'defaults' => array(
'driver' => 'smtp',
'smtp' => array(
'host' => 'smtp.flyaround.fr',
'port' => 587,
'username' => 'contact@flyaround.fr',
'password' => '***********',
'timeout' => 5,
),
'from' => array(
'email' => 'contact@flyaround.fr',
),
),
);
Par Gilles FELIX , 9 janvier 2014 ·
J'avais déja le from avec 2 éléments :
'from' => array(
'email' => 'contact@flyaround.fr',
'name' => 'flyaround',
),
du coup j'ai essayé avec seulement l'attribut email mais ça n'a rien changé.
Par Romain , 9 janvier 2014 ·
J'ai pas d'autres pistes

Pour débugger, tu peux essayer de mettre des traces avec les événements sur l'envoi d'email :

http://docs-api.novius-os.org/en/chiba.2/php/events.html#emails

Y'a pas la doc mais il existe aussi un événement 'email.error'

\Event::register('email.error', function($params){});
$params a une clé email et une exception

Mais ça génère peut-être pas d'exception ?
Par Gilles FELIX , 9 janvier 2014 ·
J'ai réussi à monitorer les échanges avec le server smtp. La connexion et l'identification marchent mais apres ça donne ça :

Client Réponse du server
... 235 ok, go ahead (#2.0.0)
MAIL FROM:<contact@flyaround.fr> 250 ok
RCPT TO:<coeurro@gmail.com> 250 ok
DATA 354 go ahead
.


Et là le serveur ne répond plus.
Par Romain , 9 janvier 2014 ·
Ma mise en page n'a pas marché. Je reprends les échanges :

Client ===============================> Réponse du server
... ==================================> 235 ok, go ahead (#2.0.0)
MAIL FROM:<contact@flyaround.fr> ========> 250 ok
RCPT TO:<coeurro@gmail.com> ==========> 250 ok
DATA ===============================> 354 go ahead
. ===================================>
Par Romain , 9 janvier 2014 ·
Le dialogue SMTP c'est vraiment pas mon truc :)

Ca tombe dans le timeout au final ?
Est-ce que tu as mis un body à ton mail ?
Par Gilles FELIX , 9 janvier 2014 ·
J'ai essayé d'augmenter le timeout mais ça plante pareil. J'ai l'impression que le probleme vient de la fonction _send() de fuelphp mais j'ai du mal à y croire.
Par Romain , 9 janvier 2014 ·
Tu m'as pas dit, tu as bien mis un body sur ton mail pour le test ? Des fois les bugs c'est con ;)
Par Gilles FELIX , 9 janvier 2014 ·
oui. j'étais en train de vérifier s'il était bien pris en compte. Et il l'est.
Par Romain , 9 janvier 2014 ·
Là je sèche. Essayes avec un autre serveur SMTP (celui d'un compte google ou yahoo par ex) pour voir ce qui change.
Par Gilles FELIX , 10 janvier 2014 ·
Je viens d'essayer un TELNET et ça marche. Le probleme vient donc bien de mon code.
Par Romain , 10 janvier 2014 ·
J'AI TROUVE !! C'était un probleme de retour à la ligne. J'ai remplacé 'newline' => "\n" par 'newline' => "\r\n" dans la config et ça y est ça marche.
Merci pour ton aide.
A bientot.
Par Romain , 10 janvier 2014 ·
Waouh, touchy ! Bien joué. Merci à toi, ça servira sans doute à d'autres
Par Gilles FELIX , 10 janvier 2014 ·
À
    ou Annuler
Charger une configuration
Par Romain , 9 janvier 2014
À

Bonjour,

j'aimerais charger le contenu du fichier email.config.php.

J'ai essayé avec $config = \Config::loadConfiguration('email', 'local') mais j'ai l'impression que ça ne marche pas parce que local n'est pas une application. Que dois-je mettre à la place ?

 

PS: Ce fichier de config n'est-il pas censé se charger automatique lors du forge d'un objet email ?