Я хочу вставить ссылку в электронное письмо в cakephp
Я хочу отправить письмо пользователям, оно отправляется, но ссылка в нем теперь отображается как ссылка. Я также хочу вставить логотип в письмо, но логотип не отображается, ниже приведен мой код. Я использую торт 2.8
$Email = new CakeEmail();
$Email->from(array('admin@wacscoac.org'=>'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');
3 ответа
Решение
Если вы хотите, чтобы логотип был также ссылкой:
Я думаю, что лучший способ - это использовать шаблон, чтобы вы могли использовать вспомогательный Html внутри вашего файла.ctp
$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();
Указание contentId
полезно, если вы хотите, чтобы вложение было встроено, как описано в руководстве здесь
После этого вы должны создать шаблон в \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]);
?>
$link = '<a href="http://wacscoac.org/edms/users/addreviewer"'>
<img src="img/logo.png" alt="">
</a>';
а потом
$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);
По моему мнению, я бы использовал HTML-теги
<a href = "site you desire">Link tage</a>
Но имейте в виду, что вам нужно установить
$headers .= "Content-type: text/html\r\n";
для электронной почты, удачи.