Странное увеличение размера электронной почты с использованием класса SMTP для отправки электронной почты, в отличие от внешнего вида - PullRequest
1 голос
/ 06 января 2010

Я отправляю письмо с приложением используя следующий код

Dim msg As New System.Net.Mail.MailMessage(req.EmailFrom, req.EmailTo)
            Dim att As New System.Net.Mail.Attachment("C:\Documents and Settings\michaelr\Desktop\1216259.pdf")
            With msg
                .Attachments.Add(att)
                .Body = req.EmailBody
                .Subject = req.EmailSubject
            End With
    Dim client As New System.Net.Mail.SmtpClient()
            client.Host = PDFService(Of T).mSMTPServer
            client.Send(msg)

Размер файла вложения составляет 396 КБ, после того как получатель получит адрес электронной почты. показывает размер файла 543Kb. Странная вещь, если я отправляю письмо с тем же вложением, используя Outlook, размер файла 396KB.

Я понимаю, что размеры файлов могут увеличиваться из-за того, что вложение кодируется в формате base 64 в отличие от просто сырого бинарного файла.

Что я не вижу, так это почему Outlook отправляет файл размером 396 КБ, но в коде, когда отправив, тот же файл 543Kb.

Любая помощь будет оценена и получит большую зеленую галочку.

Ответы [ 2 ]

1 голос
/ 06 января 2010

Вот предположение: Outlook может выполнять какое-то сжатие вложения или использовать более эффективный механизм кодирования, чем встроенный класс MailMessage.

ОБНОВЛЕНИЕ: похоже, что Outlook использует собственный механизм кодирования: http://support.microsoft.com/kb/290809

1 голос
/ 06 января 2010

Мне кажется, что это увеличение накладных расходов на кодирование MIME

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...