2016-06-21 3 views
0

Je veux envoyer un e-mail aux utilisateurs, le mail est envoyé, mais le lien en elle est maintenant montrer comme un lien, je veux aussi intégrer un logo dans le courrier mais le logo ne montre pas, ci-dessous est mon code. J'utilise le gâteau 2,8Je veux insérer un lien dans un e-mail dans cakephp

$Email = new CakeEmail(); 
    $Email->from(array('[email protected]'=>'West Africal College of Surgeons')); 
    $Email->to($email); 
    $Email->subject('Reviewer Invitation From West African College of Surgeons'); 
    $Email->send('Dear Reviewer, You have been invited by the Head of Faculty of $faculty from the West' 
      . 'African College of Surgeons to register as a reviewer. Please click on the link ' 
      . 'below to register' 
      . 'http://wacscoac.org/edms/users/addreviewer'); 
    $Email->attachments('img/logo.png'); 

Répondre

3

En supposant que vous voulez que le logo soit aussi le lien:

Je pense que la meilleure façon est d'utiliser un modèle afin que vous puissiez utiliser l'assistant Html dans votre .ctp fichier

$Email->attachments(['img/logo.png'=> [ 
    'file' => 'img/logo.png', 
    'mimetype' => 'image/png', 
    'contentId' => 'logo' 
]]); 
$Email->template('test'); 
$Email->emailFormat('html'); 
$Email->viewVars(array(
    'faculty' => "Faculty", 
)); 
$Email->send(); 

est contentId spécifiant le utile si vous voulez que la ligne de fixation, comme expliqué dans le manuel here

Après cela, vous devez créer un modèle dans \src\Template\Email\html\test.ctp

<p>Dear Reviewer,</p> 

<p>You have been invited by the Head of Faculty of <?= $faculty ?> 
from the West African College of Surgeons to register as a reviewer.</p> 

<p>Please click on the link below to register</p> 

<?= $this->Html->link(
     '<img src="cid:logo" alt="">',   
     'http://wacscoac.org/edms/users/addreviewer', 
     ['escape' => false]); 
?> 
0

Dans mon propre avis, je voudrais utiliser des balises HTML

<a href = "site you desire">Link tage</a> 

Mais gardez à l'esprit que vous devez définir

$headers .= "Content-type: text/html\r\n";

pour l'e-mail, bonne chance.

0
$link = '<a href="http://wacscoac.org/edms/users/addreviewer"'> 
      <img src="img/logo.png" alt=""> 
     </a>'; 

puis

$Email->send('Dear Reviewer, You have been invited by the Head of aculty of $faculty from the West' 
      . 'African College of Surgeons to register as a reviewer. Please click on the link ' 
      . 'below to register' 
      . $link); 
+0

@ AIPD TECH, merci, mais ceci est l'erreur que je suis arrivé Erreur: Appel à une image fonction membre() sur un non-objet –

+0

merci, mais que faire si le logo.png est dans le dossier webroot? –

+0

Supprimez simplement le 'img' du chemin. Je vais suggérer d'utiliser un modèle pour l'envoi d'e-mail. '$ Email-> emailFormat ('html');' –