Почему я не могу использовать «Кому:» в теле письма с использованием фреймворка Cakephp?

#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-письма.