Была только аналогичная проблема. Он вышел из синего. Код PHP не был изменен.
Что изменилось: PHP был обновлен с 5.5.25-1 до 5.5.26.
Риск безопасности в функции PHP mail()
исправлен, а дополнительные строки в additional_headers
больше не разрешены. Потому что дополнительные символы новой строки означают: теперь начинается электронное сообщение (и мы, конечно же, не хотим, чтобы кто-то вводил некоторые новые строки через заголовки, за которыми следовало злое сообщение).
Что ранее работало нормально, например. просто добавив новые строки после заголовков или даже передав все сообщение в additional_headers
, больше не будет функционировать.
Решение:
additional_headers
. Они считаются «множественными или искаженными новостями»: \r\r, \r\0, \r\n\r\n, \n\n, \n\0
. additional_headers
только для заголовков. Сообщение электронной почты (multipart или нет, с ir без вложений и т. Д.) Принадлежит аргументу message
, а не в заголовках. Отчет об ошибке безопасности PHP: https://bugs.php.net/bug.php?id=68776 C Код diff как исправлено: http://git.php.net/?p=php-src.git;a=blobdiff;f=ext/standard/mail.c;h=448013a472a3466245e64b1cb37a9d1b0f7c007e;hp=1ebc8fecb7ef4c266a341cdc701f0686d6482242;hb=9d168b863e007c4e15ebe4d2eecabdf8b0582e30;hpb=eee8b6c33fc968ef8c496db8fb54e8c9d9d5a8f9
Один из способов сделать это - создать прозрачную таблицу и добавить изображения в ячейки:
from docx import Document
document = Document()
tables = document.tables
table = document.add_table(rows=1, cols=2)
row_cells = table.add_row().cells
for i, image in enumerate(['image1.jpg', 'image2.jpg']):
paragraph = row_cells[i].paragraphs[0]
run = paragraph.add_run()
run.add_picture(image)
document.save('doc.docx')
Вот что вы получите, например: