2012-04-05 5 views
0

В чем основная проблема, связанная с повреждением вложений PDF с использованием Classic ASP CDO?CDO Corrupt PDF Приложение

Это сообщение об ошибке при попытке открыть документ:

Там была ошибка обработки страницы. Не удалось прочитать этот документ (109).

+0

Что вы подразумеваете под поврежденным вложением PDF? Разве это не открытие? Является ли скремблирование? Есть сообщения об ошибках? –

+0

См. Обновленный ответ для сообщения об ошибке, спасибо –

+0

Вы уверены, что вложенный PDF-файл сам по себе в порядке? Можете ли вы открыть его без каких-либо ошибок? –

ответ

1

Что вы используете для отправки электронной почты? CDOSYS, CDONTS, сторонний компонент?

Вы отправляете немедленно или получаете почтовое отправление в папке с доставкой? Если вы используете опцию pick up folder, тогда существует известная проблема, когда символы периода удаляются, если в начале строки, которая может исказить повреждение, см. http://support.microsoft.com/?id=286358.

Если вы используете CDOSYS, то у меня есть проблемы с кодированием. Я думаю, что CDOSYS выполняет двоичное кодирование по умолчанию в некоторых системах. Вы можете попытаться изменить в Base64, изменив кодировку вложений, как это ...

objAttachment.ContentTransferEncoding = "base64" 

Если это не работает, ваши проблемы, вероятно, могут быть решены с помощью другого компонента электронной почты, таких как w3jmail (бесплатно для Классического ASP версии).

0

Для CDONTS это UUEncoding по умолчанию и, вероятно, не поддерживается почтовым клиентом . Чтобы сделать кодировку base64, вам необходимо прикрепить файл, как показано ниже.

objCDO.AttachFile fullfilepath, attachmentfilename, 1 

1 является базой 64 по умолчанию 0 UUEncoding.