前回はCakePHPのバリデーション機能についての説明・実装方法について紹介しました。
今回はローカル環境でメールを送信する方法についてご紹介します。
今回はローカル環境でメールを送信する方法についてご紹介します。
'gmail' => [
'host' => 'smtp.gmail.com',
'port' => 587,
'username' => '送信アドレス', // ・・・①
'password' => 'パスワード', // ・・・②
'className' => 'Smtp',
'tls' => true
],
/**
* confirm method
*
*/
public function confirm()
{
if ($this->session->check('inputs')) {
$inputData = $this->session->consume('inputs'); // ・・・①
$mail = $inputData['mail'];
$name = $inputData['name'];
$message = $inputData['contents'] . "\n";
$mailer = new Mailer(); // ・・・②
$mailer->setTransport('gmail'); // ・・・③
$mailer
->setEmailFormat('text') // ・・・④
->setFrom(['po12oh.20@gmail.com' => 'テストサイト'])
->setTo($mail)
->setSubject('お問い合わせありがとうございます')
->setViewVars(['name' => $name, 'message' => $message]) // ・・・⑤
->viewBuilder() // ・・・⑥
->setTemplate('send'); // ・・・⑦
try {
$mailer->deliver();
} catch (\Exception $e) {
return $this->redirect(['action' => 'index']);
$this->Flash->error(__('送信に失敗しました'));
}
}
}
/**
* init
*
*/
public function initialize(): void
{
$this->loadComponent('Flash');
$this->session = $this->getRequest()->getSession();
}
:
$inputData = $this->request->getData();
$this->session->write('inputs', $inputDat
sendmail_from = 送信メールアドレス
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=auto
auth_username=送信Gmailメールアドレス
auth_password=生成したパスワード
'default' => [
'className' => 'Mail',
],