Самое простое решение - извлечь ваши «вложения» в соответствии с запросом во временную папку, а затем изменить ссылку в источнике, чтобы они указывали на эти временные файлы перед их отображением. В прошлом я использовал diHTMLParser для этого с большим успехом.
Если я правильно помню, сообщение содержит эти MIME-вложения вместе с необязательным именем файла, которое не всегда существует, но будет иметь MIME-тип, поэтому вам может потребоваться таблица перевода, чтобы получить расширение файла по умолчанию для вложения. , Кроме того, следите за файлами, которые вы помещаете в вашу временную директорию, и очищайте после закрытия окна сообщений. Если вы разрешаете открывать несколько сообщений одновременно, разрешать конфликты имен и создавать уникальные файлы ... подписи обычно имеют одно и то же имя, но принадлежат разным людям ... это может сбить с толку, если ваше сообщение от Джона подписано Мэри. :)