Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] jMailer basé sur jTpl

Posted by pakyann on 05/04/2013 18:42

Bonjour à toutes et à tous,

je viens vers vous pour un petit problème qui survient dans mon projet jelix.

Dans le cadre de la création d'un site web, je tente de réaliser un formulaire qui permettrait aux internautes d'envoyer directement un mail au propriétaire du site.

J'utilise donc un formulaire classique de jelix, le jMailer basé sur jTpl comme expliqué ici : docjelix

Voici les différents codes intéressants dans ce cas : Code du formulaire dans pageaccueil.tpl :

<article id="FormulaireContact">
                        <h1>
                        {foreach $ALLBASDEPAGE as $COURANTTEXTE}
                        {$COURANTTEXTE->texte2}
                        {/foreach}
                        </h1>
                        <form action="{formurl 'HETRESITE~mail@classic'}" method="POST">
  <fieldset> <legend> Envoyer un message </legend>
     {formurlparam}
     <table>
       <tr>
        <td><label for="champs-email">Votre mail</label></td>
        <td><input type="text" name="email" id="champs-email" /></td>
      </tr>
      <tr>
        <td><label for="champs-objet">Votre objet</label></td>
        <td><input type="text" name="objet" id="champs-objet" /></td>
      </tr>
      <tr>
        <td><label for="champs-message">Votre message</label></td>
        <td><input type="text" name="message" id="champs-message" /></td>
      </tr>
      </table>
  </fieldset>
  <p><input type="submit" value="Valider" />
  </form>
</article>

Code de la fonction mail() au sein de mon controller default.classic :

        function mail(){ 
      
        $email=$this->param('email');
        $objet=$this->param('objet');
        $message=$this->param('message');
        $mail = new jMailer();
        $tpl = $mail->Tpl('HETRESITE~mail');
        $tpl->assign('email', $email);
        $tpl->assign('objet', $objet);
        $tpl->assign('message', $message);
        $mail->Send();
        return $this->index();
        }

Et enfin le code de mon tpl mail.tpl :

    {meta Subject '$objet.'}
    {meta Priority 1}
    {meta From 'yann noireaud<mathieu.boulkawa@gaga.fr>'}
    {meta Sender 'yann.noireaud@hei.fr'}
    {meta ReplyTo array('expediteur<'.$email.'>')}
    {meta to array('< mathieu.boulkawa@gaga.fr >')}
    
    Message de {$email} au sujet de {$objet}
    {$message}

Et enfin ma config du [MAILER] dans defaultconfig.ini.php :

[mailer]
webmasterEmail="mathieu.boulkawa@gaga.fr"
webmasterName=
; How to send mail : "mail" (mail()), "sendmail" (call sendmail), "smtp" (send directly to a smtp)
; or "file" (store the mail into a file, in filesDir directory)
mailerType=smtp
; Sets the hostname to use in Message-Id and Received headers
; and as default HELO string. If empty, the value returned
; by SERVER_NAME is used or 'localhost.localdomain'.
hostname=localhost
sendmailPath="/usr/sbin/sendmail"
; if mailer = file, fill the following parameters
; this should be the directory in the var/ directory, where to store mail as files
filesDir="mails/"
; if mailer = smtp , fill the following parameters
; SMTP hosts. All hosts must be separated by a semicolon : "smtp1.example.com:25;smtp2.example.com"
smtpHost=pod51002.outlook.com
; default SMTP server port
smtpPort=587
; secured connection or not. possible values: "", "ssl", "tls"
smtpSecure=tls
; SMTP HELO of the message (Default is hostname)
smtpHelo=
; SMTP authentication
smtpAuth=on
smtpUsername=mathieu.boulkawa@gaga.fr
smtpPassword=...
; SMTP server timeout in seconds
smtpTimeout=10

Le soucis maintenant : Quand je submit mon formulaire une fois rempli, "en attente de 127.0.0.1..." s'affiche en bas de mon navigateur (normal), ce temps d'attente est d'ailleurs très long puis ça aboutit sur mon mail.tpl (malgré le return index du controller), et aucun mail n'es envoyé ou du moins reçu :

http://127.0.0.1/HETRESITE/www/index.php/HETRESITE/default/mail

Si vous avez une idée dites moi car j'ai beau essayer de tâtonner rien n'y fait :(

Bien à vous,

  [Opened] jMailer basé sur jTpl

Reply #1 Posted by foxmask on 05/04/2013 20:59

bonsoir,

selon moi, le pb se situe sur l'envoi du mail . parvenez vous à exécuter l'envoi d'un mail avec ce SMTP ? si vous êtes sous linux tenter l'envoi en ligne de commande après la configuration de postfix par exemple ou autre mta.

aparté : vous devriez éditer votre question en remplace votre vraie adresse mail pour éviter de recevoir du spam.

cdt


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] jMailer basé sur jTpl

Reply #2 Posted by pakyann on 05/08/2013 12:59

Je ne suis malheureusement pas sous linux, mais une amie travaillant sur un projet arrive à réaliser ceci avec ce smtp. Je me tire les cheveux !

  [Opened] jMailer basé sur jTpl

Reply #3 Posted by pakyann on 05/08/2013 14:09

J'ai d'ailleurs le même soucis si j'envoie un mail simple avec ce code :

        $mail = new jMailer();

        $mail->FromName = 'NOIREAUD';
        $mail->From = 'mon.adresse@lol.fr';
        $mail->Subject = 'Sujet de l\'email';
        $mail->Body = 'Contenu du message texte';

        $mail->AddAddress('mon.adresse@lol.fr' , 'NOIREAUD');

        $mail->Send();

  [Opened] jMailer basé sur jTpl

Reply #4 Posted by laurentj on 05/09/2013 18:46

Bonjour,

Le problème se situe sur l'envoi de mail. C'est mal configuré à priori. Il faut tester les paramètres de config que tu as mis avec un client mail (thunderbird), sur la même machine qui est censé envoyer les mails, et tester si on peut envoyer un mail avec ce client mail.

 
Page
  1. jMailer basé sur jTpl