Прежде всего, да, я связался со службой поддержки Invision Community. Да, я платный пользователь с активной лицензией. Мы ходили туда-сюда несколько часов, и все, что они сказали, это то, что с их программным обеспечением все в порядке, и мне нужно починить свой сервер.
Я использую CentOS 7.9.2009, PHP 8.0.7, Apache 2.4.6 и Exim 4.94.2.
Когда Invision Communtiy отправляет электронные письма, значение From: указывает Apache или Root вместо названия форума, а в html-части электронного письма просто отображается код, а не текстовая часть и html-часть.
У меня также есть php-код, который я написал сам, используя функцию mail() на том же сервере, используя ту же версию php и все, что отправляет идеальные составные электронные письма.
Сравнивая источник электронного письма, отправленного Invision, и электронного письма, отправленного моим кодом, я заметил, что заголовки From: и Content-Type: в электронном письме Invision имеют отступ в один пробел, и те же самые заголовки в электронных письмах, отправленных в моем коде перед ними нет пробелов. Эти заголовки, кажется, игнорируются почтовым клиентом. Вот как выглядит исходник:
MIME-версия: 1.0
От кого: =?UTF-8?B?SGVsaW9OZXQ=?= <[email protected]>
Дата: Вт, 29 июня 2021 г. 19:04:36 +0000
Автоматически отправлено: автоматически сгенерировано
Content-Type: составной/альтернативный; border="--==_mimepart_3d7970817fa277e018f1936f5865d582"; кодировка = UTF-8
Контент-передача-кодирование: 8 бит
Идентификатор сообщения: <[email protected]>
Обратите внимание на один пробел перед параметрами From, Date, Auto-Submitted и Content-Type.
Вот как выглядят эти заголовки в электронном письме, которое правильно отображается с того же сервера:
MIME-версия: 1.0
От: "Пример" <[email protected]>
List-Unsubscribe: <mailto:[email protected]>, <https://www.example.com/unsubscribe/?c=3d9795e2646d156972cdf58655c758bd
Content-type: multipart/alternative;boundary=helio60db72e0c0005
Идентификатор сообщения: <[email protected]>
Дата: Вт, 29 июня 2021 г. 19:22:08 +0000
X-AntiAbuse: этот заголовок был добавлен для отслеживания злоупотреблений. Включайте его в любой отчет о злоупотреблениях.
Прежде всего, вызовут ли эти пробелы проблемы, которые я вижу?
Во-вторых, если пробелы являются проблемой, как мне их исправить?
Копаясь в коде Invision, похоже, что они используют пакет PHP Pear Mail. https://pear.php.net/package/Почта Очевидно, что редактировать код Invision или код Pear — плохая идея, потому что любые изменения, скорее всего, будут перезаписаны при следующем обновлении. Есть ли какие-либо настройки сервера, которые я мог бы изменить, чтобы исправить это? Дайте мне знать, если вам нужна дополнительная информация, и я внесу изменения. Спасибо!