Bonjour,
j'ai sur mon site, une page "contacter_vendeur" qui peremet aux potentiels acheteur d'envoyer un email aux vendeurs.
Lors de l'envoi, je souhaite que l'adresse email afficher dans "De :" soit celle que l'utlisateur aura entré dans le formulaire de contact.
Voici mon fichier de configuration email:

//Configuration d'envoi d'email via Gmail
    public $gmail = array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'username' => 'mon.entreprise@gmail.com',
        'password' => 'password',
        'transport' => 'Smtp'
    );

Ma méthode d'envoi d'email sur le controller:

App::uses('CakeEmail','Network/Email');
$mail = new CakeEmail();
$mail->config('gmail')
->from($params_email'auteur'])
->to($params_email'destinataire'])
->cc($params_email'auteur'])
->subject($params_email'sujet'])
->emailFormat('html')
->template($params_email'template'])
->viewVars($params_email'mes_variables'])
->send();*/

la variable $params_email'auteur'] contient la valeur du champs mail précédemment par l'utilisateur.
Qu'est ce qui fait que cela envoi les email avec l'adresse présente dans ma configuration gmail: mon.entreprise@gmail.com ??
Car ce que je souhaite faire, c'est avoir l'adresse email de l'utilisteur dans le champ "auteur".

Merci d'avance

3 réponses


Lartak
Réponse acceptée

Bonsoir.
Pour commencer, je te conseille de définir la configuration à utiliser directement dans l'objet CakeEmail , par exemple :

$mail = new CakeEmail('gmail');

Ensuite, le paramètre config dans l'objet CakeEmail ne contient pas que le nom de la configuration, mais plusieurs paramètres disponibles.
Pour finir, ce sera forcément l'adresse email renseignée dans la configuration qui sera utilisée, celle de l'utilisateur ne peut pas être utilisée pour envoyer l'email, par contre, ce que tu peux faire, c'est par exemple renseigner l'email et l'identification de l'utilisateur dans le from , afin que ce soit ces informations qui s'affichent au lieu de l'email de la configuration, par exemple :

->from(array($params_email'EmailAuteur'] => $params_email'UsernameAuteur']));

De cette manière, au lieu que ce soit l'email dans la configuration qui s'affiche dans le libellé du message, ce sera par exemple le nom d'utilisateur de l'auteur et son adresse email qui sera affiché en tant qu'expéditeur de l'email, l'adresse email de la configuration sera bien sûr visible dans l'entête du mail qui se trouve dans le code source de l'email.

Merci @Lartak11

C'est l'info qu'il me manquait. :)

De rien, avec plaisir. ;)