IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Web Discussion :

Générer automatiquement un courriel, quelle méthode utiliser?


Sujet :

Conception Web

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Générer automatiquement un courriel, quelle méthode utiliser?
    Bonjour à toutes et à tous,

    Je suis nouvel inscrit sur le forum, mais je le visite régulièrement, mais comme je n'ai jusqu'ici pas eu besoin d'aide sur des sujets n'existant pas sur le forum, et que je n'avais pas eu l'occasion d'apporter mon aide, je ne m'était pas inscrit. Voici la chose faite, passons aux choses sérieuses ^^.


    Je fais en ce moment une petite lettre d'informations automatique à destination d'un certain nombre de personnes. Ce que je cherche à faire, c'est faire un tableau en HTML, complété par une base de données (c'est pas le souci^^), et l'insérer dans ce courriel. J'utilise PHP Mailer pour l'envoi de mail, ça fonctionne bien jusqu'à présent.
    J'ai actuellement une page "Main.php" qui contient le tableau et son complètement, quelques lignes pour le style. La solution que j'expérimente pour l'instant passe par une fonction javascript qui récupère le code source de cette même page "Main.php", l'envoie à une page "Sender.php" qui s'occupe d'appeler PHP Mailer et envoie le code source...
    Cette manière de faire ne me satisfait pas, car elle relève plus du bricolage que d'autre chose... et est sujette dysfonctionner facilement.

    Désolé si le fonctionnement n'est pas bien clair, il subit beaucoup de changements, car je ne sais pas quels choix faire. Ma question porte donc sur l'architecture générale : Quelqu'un voit-il un solution plus adaptée, plus robuste, moins compliquée pour générer le courriel? Une solution miracle?


    N'hésitez pas à poser des questions si ce n'est pas clair ou si j'ai oublié des précisions (c'est surement le cas^^)


    Merci


    PS : Je suis sous IE 8.0, et ce n'est pas de mon fait

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    salut,
    si tu utilises sender.php pour appeler phpmailer, pourquoi ne pas paramétrer juste une variable dans ce fichier pour savoir qu'elle page l'appel et donc y affectuer ta requête de sélection de tableau etc ... pour ainsi éviter de se balancer tout de droite à gauche.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Salut


    Merci tout d'abord de m'accorder du temps

    Je fais ainsi (balancer le contenu de droite à gauche^^) pour pouvoir permettre à un administrateur d'ajouter un petit mot personnel, et aussi pour bien séparer la génération de mail de son envoi, pour eventuellement avoir plusieurs modèles de mail disponibles. Désolé j'ai oublié de le préciser ^^

    J'y pense, n'y a-t-il pas moyen de créer une sorte d' "objet" qui contiendrait une page HTML, parce qu'avec une chaine de caractères, j'ai des soucis ^^. Juste savoir si un tel outil existe

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut
    Bonjour,

    J'avais fait une petite classe pour la gestion des mails avec phpMailer, voici le code correspondant, j'ai ajouté quelques commentaires...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    // CODE DE PREPARATION DU MAIL
    $detailsMail = array( 'type' => 'info',
    	                       'courriel'    => $_SESSION['userData']['courriel'],
    	                       'nom'         => $_SESSION['userData']['nom'],
    	                       'prenom'    => $_SESSION['userData']['prenom']
    	                       );
    	        
    include ( 'includes/class.mail.php' ) ;
    $newMail = new mailClass() ;
    $newMail -> sendMail( $detailsMail ) ;
    ?>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <?php
    // FICHIER CLASS 
    class mailClass {
    	private $headers    = NULL ;
    	private $objet         = NULL ;
    	private $message       = NULL ;
    	private $smtpHost      = 'smtp.truc.fr' ;           // ADRESSE SMTP
    	private $fromName      = 'Monsieur TRUC' ;     // NOM EXPEDITEUR
    	private $fromAdress    = 'monsieur@truc.fr' ;   // ADRESSE EXPEDITEUR 
    	private $replyTo       = 'monsieur@truc.fr' ;      // ADRESSE REPONSE  
    	
        public function sendMail( $detailsMail ) {
    
        	/* Envoi du mail via Phpmailer */
        	include ('includes/PHPMailer/class.phpmailer.php') ;
        	$this -> mail = new PHPmailer();
        	
        	/* Parametres generaux */
            $this -> mail -> IsSMTP();
            $this -> mail -> Host     = $this -> smtpHost ;
            $this -> mail -> FromName = $this -> fromName ;
            $this -> mail -> From     = $this -> fromAdress ;
            $this -> mail -> AddReplyTo( $this -> replyTo ) ; 
            $this -> mail -> CharSet     = 'utf-8';
            $this -> mail -> ContentType = 'text/plain';
            
            
            /* Recuperation et traitement des parametres */
            $this -> detailsMail = $detailsMail ;
            $this -> type = $this -> detailsMail['type'] ;
            
           /* Switch POUR GERER DIFFERENTS TYPE DE MAIL
            switch ( $this -> type ) :
                case 'info' :
                    $this -> mailInfo() ;
                break;
            endswitch;
            
            /* Expedition du mail */
            if ( !$this -> mail ->Send() ) { // Teste le return code de la fonction
                $this -> error = $error ;
            }
            else{     
                $this -> info .= $info ;
            }
            $this -> mail -> SmtpClose() ;
            unset ( $this -> mail ) ;
        }
        
        private function mailInfo() {
        	/* Contenu du mail */
    	$this -> message  = "Bonjour ".ucfirst(strtolower($this -> detailsMail['prenom']))." ".ucfirst(strtolower($this -> detailsMail['nom'])).",\r\n" ;
    		$this -> message .= "\n";
    		$this -> message .= "blablablabalabalablabla\r\n";
    		$this -> message .= "\r\n";
    		$this -> message .= "Bien cordialement,\r\n";
    		$this -> message .= "\r\n";
    		$this -> message .= "Monsieur TRUC\r\n";
    		$this -> message .= "Ce message est envoyé automatiquement, merci de ne pas y répondre.\r\n";
    		$this -> message = wordwrap( $this -> message , 80);
    		
    		$this -> mail -> AddAddress( $this -> detailsMail['courriel'] );    
            $this -> mail -> Subject  = "Demande informations" ;
            $this -> mail -> Body     = $this -> message ;	
    	}
    
    } // Fin de la classe
    ?>
    En espérant que cela puisse aider

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci à toi, cette solution me convient pour l'instant, je viens de la mettre en place, je n'avais vraiment pas pensé à faire de cette manière

    Résultat : Ça marche, j'ai encore du boulot, et merci mille fois pour l'aide albedo0

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut
    De rien bon courage pour la suite !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle méthode utiliser pour un formulaire
    Par sam01 dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2006, 17h42
  2. Réponses: 4
    Dernier message: 02/05/2006, 13h08
  3. Quelles méthodes utiliser ?
    Par Ekinoks dans le forum OpenGL
    Réponses: 2
    Dernier message: 29/09/2005, 15h45
  4. [persistance]Quelle méthode utiliser ?
    Par le Daoud dans le forum Persistance des données
    Réponses: 9
    Dernier message: 15/11/2004, 10h29
  5. code récurrent, quelle méthode utiliser ?
    Par khayyam90 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 10/10/2004, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo