#email #cakephp-1.3
#Адрес электронной почты #cakephp-1.3
Вопрос:
Я использую cakephp для отправки писем, и я заметил, что в моей почте отсутствует текст. После некоторых тестов я понял, что текст «Кому:» и все, что после него в этой строке, отсутствует. (Возможно, рассматривается как заголовок)
Вот как выглядел мой код электронной почты:
$this->Email->smtpOptions = array(
'port'=>'25',
'timeout'=>'30',
'host' => 'random.smtp.server',
'username'=>'',
'password'=>''
);
$this->Email->delivery = 'smtp';
$this->Email->to = $originalSender;
$this->Email->replyTo = $emailAddress;
$this->Email->from = $emailAddress;
if (count($recipients) > 0) {
$this->Email->bcc = $recipients;
}
$this->Email->sendAs = 'html';
$this->Email->subject = 'Freedom task';
if (count($allAttachments) > 0) {
$this->Email->attachments = $allAttachments;
}
$body = "Usefull_Separator<br />nr".
"Client: Example<br />nr".
"Submitted by: Myself<br />nr".
"Assigned To: MyMinion<br />nr".
"Queue: Bathroom<br />nr".
"Date Submitted: Today<br />nr".
"Status: Closed<br />nr".
"<br />nr".
"Kind regards.<br />nr".
"Random task simulator";
$this->Email->send($body);
var_dump($body);
Итак, почему «кому:» удалено из тела письма?
Я использую Cakephp 1.3.8
РЕДАКТИРОВАТЬ: вот результаты var_dump ($ body):
string 'Usefull_Separator<br />
Client: Example<br />
Submitted by: Myself<br />
Assigned To: MyMinion<br />
Queue: Bathroom<br />
Date Submitted: Today<br />
Status: Closed<br />
<br />
Kind regards.<br />
Random task simulator' (length=229)
Вот результаты электронной почты, в которых раздел «кому» удален:
Комментарии:
1. Этого не должно быть, можете ли вы предоставить модульный тест, который показывает сбой компонента в этом сценарии?
2. @burzum Я раньше не писал модульный тест, поэтому не могу его предоставить, но я вывел переменную $body на экран, и она содержит данные правильно. Похоже, что следующий шаг — проверить
$this->Email->send($body);
3. Проверьте модульные тесты ядра для компонента электронной почты, вы можете скопировать один похожий случай и изменить его в соответствии с вашим вариантом использования.
4. @burzum модульный тест для почты не работает на localhost из-за отсутствия SMTP, а на моем сервере, на котором есть SMTP, модульный тест, похоже, выдает слишком много различных ошибок для отладки вручную. Похоже, что это тратит больше времени, чем того стоит, тем более, что я не знаю никого лично, кто работает с cakephp. Кстати, вы можете проверить это поведение самостоятельно, используя
"Hi, nr To: test<br>nr Bye."
как часть тела HTML-письма.