После того, как я переключил свое приложение CakePHP на использование SMTP для отправки электронной почты (с использованием компонента электронной почты), все отправленные письма теперь не имеют темы.
У них всегда была тема раньше, а все остальное теперь работает простобез темы.Я связался со службой поддержки сервера smtp, который я использую (SendGrid), и они заверили меня, что заголовки тем не включены в электронные письма.
CakePHP использует функцию _mail()
по умолчанию или функцию _smtp()
, когдаиспользуя smpt .
Я просмотрел код и вижу, где функция _mail
использует тему, однако я не вижу _smtp
или _smtpSend
с использованием $this->subject
в любом месте.Я что-то упускаю?
Что мне нужно сделать, чтобы заставить предмет работать?
Обновление добавление кода :
Вот как я отправляю электронное письмо с моего контроллера:
$this->Email->to = $data['Order']['user_email'];
$this->Email->subject = 'Your Order Has Shipped';
$this->Email->template = 'order_shipped';
$this->Email->layout = 'sussex';
$this->Email->sendAs = 'html';
$this->Email->send();
Компонент Email является стандартным компонентом Cake 1.3 Email. Я добавил этот код в начало функции send()
:
$this->smtpOptions = array(
'port'=>'587',
'timeout'=>'30',
'host' => 'smtp.sendgrid.net',
'username'=>'my_user',
'password'=>'*******',
'client' => 'www.example.com'
);
$this->delivery = 'smtp';