与 Outlook 相比,使用 SMTP 类发送电子邮件的电子邮件大小奇怪增加
Posted
技术标签:
【中文标题】与 Outlook 相比,使用 SMTP 类发送电子邮件的电子邮件大小奇怪增加【英文标题】:Strange increase in email size using SMTP class to send an email as opposed to outlook 【发布时间】:2011-01-02 02:00:00 【问题描述】:我正在发送带有附件的电子邮件 使用以下代码
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)
附件文件大小为396KB,收件人收到邮件outlook 显示文件大小为 543Kb。 奇怪的是,如果我使用 Outlook 发送带有相同附件的电子邮件,文件大小为 396KB。
我了解由于附件采用 base 64 编码,文件大小可能会增加 而不仅仅是原始二进制文件。
我没有看到的是为什么 Outlook 发送一个大小为 396KB 的文件但在代码中 发送它,相同的文件是543Kb。
任何帮助将不胜感激并获得一个大的绿色勾号。
【问题讨论】:
【参考方案1】:对我来说,这种增加看起来像是 MIME 编码的开销
【讨论】:
【参考方案2】:这里有一个猜测:Outlook 可能会对附件执行某种压缩,或者可能使用比内置 MailMessage
类更有效的编码机制。
更新:看起来 Outlook 使用专有编码机制:http://support.microsoft.com/kb/290809
【讨论】:
专有编码在创建富文本电子邮件时打开,但情况并非如此。我有一种感觉,Outlook 正在做一些 MailMessage 类没有做的事情。大小上的差异几乎与您使用 Mime 类型编码所期望的增加大小相同。这让我想知道是否有什么东西,我可以在课堂上或在交流方面使用,可以做类似的事情。以上是关于与 Outlook 相比,使用 SMTP 类发送电子邮件的电子邮件大小奇怪增加的主要内容,如果未能解决你的问题,请参考以下文章
使用 ActionMailer 和 Outlook/Mandrillapp SMTP 服务器发送邮件
如何使用 Outlook 2010(无 smtp)和 python 发送带有嵌入图像(不是附件)的 HTML 格式电子邮件
使用带有 Laravel 的 Outlook / Office365 发送电子邮件 - 无法在 SMTP 服务器上进行身份验证