Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2011, 16h44   #1
Candidat au titre de Membre du Club
 
Homme
Inscription : février 2009
Messages : 44
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2009
Messages : 44
Points : 13
Points : 13
Par défaut emails non envoyés sur site hébergé

Hello.

J'ai un petit souci avec l'envoi d'email, qui fonctionne très bien en local, mais pas sur la version hébergée.
Pour info, le contenu de mon fichier factories :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
all:
  routing:
    class:                              sfPatternRouting
    param:
      generate_shortest_url:            true
      extra_parameters_as_query_string: true
 
  view_cache_manager:
    class:                              sfViewCacheManager
    param:
      cache_key_use_vary_headers:       true
      cache_key_use_host_name:          true
  mailer:
    class:                              sfMailer
    param:
      logging:                          %SF_LOGGING_ENABLED%
      charset:                          %SF_CHARSET%
      delivery_strategy:                realtime
      transport:
        class:                          Swift_SmtpTransport
        param:
          host:                         auth.smtp.1and1.fr 
          port:                         25
          encryption:                   ~
          username:                     contact@mon-site.fr
          password:                     xxxxxx
Dans la fonction qui gère l'envoi des emails, j'ai passé en commentaire la ligne :
Code :
1
2
 
$obj->getMailer()->send($message);
Et tout fonctionne : j'ai affiché le contenu de mon message, et tout est ok.
La redirection vers la page d'accueil fonctionne.
Le problème vient donc de
Code :
1
2
 
$obj->getMailer()->send($message);
Comment est-ce que je peux debugger la fonction getMailer ?
Est-il possible, par exemple, d'afficher les paramètres chargés à partir de mon fichier factories, pour m'assurer que tout est ok ?

Merci d'avance pour votre aide.
plastic1st est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 20h48   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Regarde du côté de la configuration de ton serveur, il est possible qu'il ne puisse pas router le smtp. Essaie d'ouvrir un telnet depuis ton serveur sur le serveur SMTP.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 08h22   #3
Candidat au titre de Membre du Club
 
Homme
Inscription : février 2009
Messages : 44
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2009
Messages : 44
Points : 13
Points : 13
J'ai utilisé le coup de fil à un ami (l'assistance 1and1) pour obtenir la réponse à ma question :
Non, vous ne pouvez pas ! C'est verrouillé ! Utilisez la fonction mail() de PHP !

Merci 1and1
plastic1st est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 09h38   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Sans garantie.

SwiftMail utilise une sorte de driver pour procéder à l'envoie du mail. Il me semble avoir lu (il y a plusieurs mois) qu'il y en avait un qui utilisait mail()...

Ceci devrait permettre l'envoie des mails, sans modifier toute l'application.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 10h00   #5
Candidat au titre de Membre du Club
 
Homme
Inscription : février 2009
Messages : 44
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2009
Messages : 44
Points : 13
Points : 13
En fait, je ne me suis pas trop embêté, j'ai tout simplement remplacé

Code :
1
2
3
4
5
$message = Swift_Message::newInstance($subject)
    ->setFrom(array($values['email'] =>  $values['name']))
    ->setTo($recipient)
    ->setBody($values['message']);
$obj->getMailer()->send($message);
par
Code :
1
2
3
4
5
6
7
8
9
10
 
$headers  = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/plain; charset=utf-8\r\n"; 
$headers .= "From: ".$values['name']." <".$values['email'].">\r\nReply-to : ".$values['name']." <".$values['email'].">\nX-Mailer:PHP"; 
 
$body     = $values['message'];
 
ini_set("SMTP","auth.smtp.1and1.fr");
 
$mail_sent = mail($recipient, $subject, $body, $headers);
Merci (une fois de plus) pour ton aide !
plastic1st est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 11h19   #6
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Je ne doute pas que cela fonctionne.

Mais je confirme que Swift_mail est capable d'utiliser différents connecteur pour envoyer les mails. Et donc de conserver le même code pour tout les serveur, seul le fichier de configuration est à modifier.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h38.


 
 
 
 
Partenaires

Hébergement Web