Я досить новий для CakePHP, і це моя перша спроба створення електронної форми.
Простий приклад:
<?php
App::uses("AppController", "Controller");
App::uses("CakeEmail", "Network/Email");
class EmailController extends AppController {
public function send_email($from, $subject, $message) {
$Email = new CakeEmail();
$Email->from($from)
->to("[my personal email]")
->subject($subject);
if($Email->send($message)) {
$result = "Your email has been sent.";
} else {
$result = "Your email failed to send.";
}
$this->set("result", $result);
$this->set("params", "(".$from."|".$subject."|".$message.")");
}
}
send_email.ctp
<?php echo $result;?>
<br>
<?php echo $params;?>
Я отримую "Вашу електронну пошту відправлено.", $ Params виглядають так, як я очікую, і я не бачу жодних помилок ... але я не отримую електронного листа. Будь-яка ідея, чому це може статися?
Відповіді:
3 для відповіді № 1Перед цим потрібно визначити конфігурацію електронної пошти в email.php в папці Config
Тут, наприклад, є конфігурація Gmail
class EmailConfig {
public $gmail = array(
"host" => "ssl://smtp.gmail.com",
"port" => 465,
"username" => "username@gmail.com",
"password" => "*****",
"transport" => "Smtp"
);
}
потім ви можете використовувати цю настройку в контролері
$Email= new CakeEmail("gmail");
Коротше потрібно налаштувати SMTP відповідно до вимог. Я сподіваюся, що це буде зручно для вас. Дякую