Инструменты пользователя

Инструменты сайта


сисадмин:проблема_при_отсылке_почты_папка_sent

Проблема при отсылке почты (папка Sent)

Эта ошибка появилась после использования новой версии PHPMailer (файл class.phpmailer.php). Ранее значения "boundary=" вычислялось при формировании заголовков и использовалось в теле письма. Сейчас в компоненте PHPMailer новые значения "boundary=" вычисляются в теле письма.

Поэтому мы получаем такую ситуацию:

  1. Вызывается функция создания заголовков со старым значением "boundary=";
  2. Вызывается функция создания тела письма с новыми значениями "boundary="

В итоге в письме получаются разные "boundary="

Вот это решение проблемы

--- Email.php.old	2016-08-31 18:32:15.000000000 +0300
+++ Email.php	2016-09-26 16:27:52.326236929 +0300
@@ -935,7 +935,8 @@
 			if (isset($ie->id) && !$ie->isPop3Protocol() && $mail->oe->mail_smtptype != 'gmail') {
 				$sentFolder = $ie->get_stored_options("sentFolder");
 				if (!empty($sentFolder)) {
-					$data = $mail->CreateHeader() . "\r\n" . $mail->CreateBody() . "\r\n";
+					$bodytext=$mail->CreateBody();  // before CreateHeaders for generate new bounces
+					$data = $mail->CreateHeader() . "\r\n" . $bodytext . "\r\n";
 					$ie->mailbox = $sentFolder;
 					if ($ie->connectMailserver() == 'true') {
 						$connectString = $ie->getConnectString($ie->getServiceString(), $ie->mailbox);
сисадмин/проблема_при_отсылке_почты_папка_sent.txt · Последнее изменение: 2016.09.28 06:05 — feser