CakeEmail не работает
Это мой код в методе cakephp на одном из моих контроллеров, но письмо не приходит на счет. Мне действительно нужна помощь в этом.
Когда я печатаю $cc
переменная, она дает вывод массива, но не знаю, как узнать, была ли почта отправлена успешно или нет.
Поскольку почта не пришла на почтовый аккаунт, я думаю, что почта отправлена неправильно, или в моем коде есть какая-то ошибка.
$email = new CakeEmail('default');
$body = "<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
</head>
<body>
<div style='background: #F6F6F6; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin: 0; padding: 0;'>
<table cellspacing='0' cellpadding='0' border='0' height='100%' width='100%'>
<tr>
<td align='center' valign='top' style='padding: 20px 0 20px 0'>
<table bgcolor='FFFFFF' cellspacing='0' cellpadding='10' border='0' width='624' style='border:1px solid #E0E0E0;'>
<tr>
<td width='147' align='center'><img src='".Router::url('/', true)."images/logo.png'></td>
</tr>
<tr bgcolor='#666666'>
<td colspan='2' align='center'>
Forgot Password
</td>
</tr>
<tr bgcolor='#CCCCCC'>
<td colspan='2'>Hello Admin, </td>
</tr>
<tr bgcolor='#E7E6EC'>
<td> </td>
<td width='415'>Your new password : ".$new_password."</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>";
$email->from(array($adminemail =>"Cakeshop"));
$email->emailFormat('both');
//$email->to($check['AdminLogin']['admin_email_address']);
$email->to(array($adminemail));
$email->subject('Recover Password');
$cc=$email->send($body);
1 ответ
При попытке сделать что-то подобное, я бы использовал другой метод, вместо того, чтобы писать свою разметку и присваивать ее переменной $body. Создайте макет и просмотрите сообщения электронной почты и используйте их в качестве разметки. (УВИДЕТЬ НИЖЕ)
Убедитесь, что вы правильно настроили файл email.php. Мне нравится использовать учетную запись Gmail для их отправки, чтобы убедиться, что функция электронной почты работает.
public $ gmail = array ('host' => 'smtp.gmail.com', 'port' => '465', 'username' => 'Ваш адрес электронной почты Gmail', 'password' => 'Ваш пароль Gmail', 'transport' => 'Smtp', 'tls' => true
enter code here
);Сделав это, добавьте следующий код в свой контроллер.
$ data = 'Я отправляю эту строку для просмотра электронного письма, затем я могу получить доступ к этой строке, используя $ myData';
$ Email = новый CakeEmail(); $Email->template('welcome', 'fancy') ->emailFormat('both') ->to('Адрес электронной почты для отправки') ->from('Адрес электронной почты от.'), ->viewVars(массив ('myData' => $data)) ->send();
Создайте разметку для вашей электронной почты, вы можете найти файлы здесь.
Приложение / Просмотр / Электронная почта /html/welcome.ctp Приложение / Просмотр / Макеты / Электронная почта /html/fancy.ctp
Если у вас есть дополнительные вопросы, пожалуйста, напишите мне:
simpsond1988@gmail.com