带有多个附件的 SMTP 邮件哑剧 + 网页

我正在尝试对原始电子邮件进行更多研究,为此,我在Go中编写了一些代码,帮助我构建带有附件和HTML正文的电子邮件。


但是我有一个问题,目前我只能发送一个附件(不适用于多个附件)或HTML正文。当我尝试发送HTML + 1附件时,我收到一个内容为空且无名的文件


所以,我不知道我的原始电子邮件有什么问题,如果有人可以帮助我,我真的很感激。


以下是生成的Raw电子邮件,如果有人可以帮助我了解它的问题所在。


From: FooBar

To: some@mail.com

Subject: Random Text

MIME-Version: 1.0

Content-Type: multipart/mixed; boundary="VH5S0k0C2sKbOiiC0CQW0H0gdwo0A00wLHuY0Knk0dzaTr5y55VB0O5UqN0D5ARY"


--VH5S0k0C2sKbOiiC0CQW0H0gdwo0A00wLHuY0Knk0dzaTr5y55VB0O5UqN0D5ARY

Content-Type: multipart/alternative; boundary="WMaSWQ0Q205bd0Ly000W5p00N5ohAMoUpXu050nC0d0a0r0y050B0O0UkN0D0ARY"


--WMaSWQ0Q205bd0Ly000W5p00N5ohAMoUpXu050nC0d0a0r0y050B0O0UkN0D0ARY

To see this message, use an app with support for HTML.


--WMaSWQ0Q205bd0Ly000W5p00N5ohAMoUpXu050nC0d0a0r0y050B0O0UkN0D0ARY

Content-Type: text/html; charset="UTF-8"

Content-Description: 

Content-Disposition: inline

Content-Transfer-Encoding: 7bit


<h1>Your random text is: </h1><b>JU0NZU4ODAX</b>


--WMaSWQ0Q205bd0Ly000W5p00N5ohAMoUpXu050nC0d0a0r0y050B0O0UkN0D0ARY--


Content-Type: multipart/alternative; boundary="hcx0dnS50VSCeMb5mSyM05W00yQT0odL7050u0XMn5UdUa0rdy050B0OgUjNDARY"


--hcx0dnS50VSCeMb5mSyM05W00yQT0odL7050u0XMn5UdUa0rdy050B0OgUjNDARY

A file containing some information


--hcx0dnS50VSCeMb5mSyM05W00yQT0odL7050u0XMn5UdUa0rdy050B0OgUjNDARY

Content-Type: text/plain; charset="utf-8"

Content-Description: random-text.txt

Content-Disposition: attachment; filename="random-text.txt";

Content-Transfer-Encoding: base64

Content-ID: <random-text.txt>


SlUwTlpVNE9EQVg=


--hcx0dnS50VSCeMb5mSyM05W00yQT0odL7050u0XMn5UdUa0rdy050B0OgUjNDARY--


Content-Type: multipart/alternative; boundary="0PZiT5S5IpaWM5bEOA0Uw5W0000TDo5X0y50u00Ln50dIa7r0yS50B5O5UZNDARY"


--0PZiT5S5IpaWM5bEOA0Uw5W0000TDo5X0y50u00Ln50dIa7r0yS50B5O5UZNDARY

A file containing some information


慕标5832272
浏览 117回答 2
2回答

温温酱

如果不了解你的期望,就很难看出这里出了什么问题。但是对于每个依恋肯定是相当可疑的。你基本上是在说“这里有两个等同的部分;使用你喜欢的任何一个“,但没有任何标题(隐含的)似乎无法提供与显式文本部分相同的内容或最终用户体验。multipart/alternativetext/plain显而易见且直接的问题是,在最后两个部分之前,您没有 MIME 边界。您需要在标头之前具有紧挨着的 MIME 边界,如下所示:multipart/alternative...<h1>Your random text is: </h1><b>JU0NZU4ODAX</b>--WMaSWQ0Q205bd0Ly000W5p00N5ohAMoUpXu050nC0d0a0r0y050B0O0UkN0D0ARY----VH5S0k0C2sKbOiiC0CQW0H0gdwo0A00wLHuY0Knk0dzaTr5y55VB0O5UqN0D5ARYContent-Type: multipart/alternative; boundary="hcx0dnS50VSCeMb5mSyM05W00yQT0odL7050u0XMn5UdUa0rdy050B0OgUjNDARY"--hcx0dnS50VSCeMb5mSyM05W00yQT0odL7050u0XMn5UdUa0rdy050B0OgUjNDARYA file containing some information...但是我猜你应该只是删除最后两个结构中的图层,并最终得到一个包含一个(带有和渲染的顶层,或者可能只是省略无用的部分,这无论如何都会让每个人都很烦恼,如果确实是你可以提供的全部,那么只需放置一个部分而不是结构,然后是两个部分。multipart/alternativemultipart/mixedmultipart/alternativetext/plaintext/htmltext/plaintext/htmlmultipart/alternativetext/plainContent-Disposition: attachment顺便说一句,不要在示例中使用您不知道他们属于谁的地址(更不用说您知道属于无辜第三方的地址了)。From: FooBarTo: some@example.comSubject: Random TextMIME-Version: 1.0Content-Type: multipart/mixed; boundary="VH5S0k0C2sKbOiiC0CQW0H0gdwo0A00wLHuY0Knk0dzaTr5y55VB0O5UqN0D5ARY"--VH5S0k0C2sKbOiiC0CQW0H0gdwo0A00wLHuY0Knk0dzaTr5y55VB0O5UqN0D5ARYContent-Type: multipart/alternative; boundary="WMaSWQ0Q205bd0Ly000W5p00N5ohAMoUpXu050nC0d0a0r0y050B0O0UkN0D0ARY"--WMaSWQ0Q205bd0Ly000W5p00N5ohAMoUpXu050nC0d0a0r0y050B0O0UkN0D0ARYWe thought it would be helpful to display an annoying suggestionto look at this in an HTML viewer instead of provide you withthe information which is only visible in the HTML part.Nyah, nyah.--WMaSWQ0Q205bd0Ly000W5p00N5ohAMoUpXu050nC0d0a0r0y050B0O0UkN0D0ARYContent-Type: text/html; charset="UTF-8"Content-Description: (if you don't have a description, don't add this header)Content-Disposition: inlineContent-Transfer-Encoding: 7bit<h1>Your random text is: </h1><b>JU0NZU4ODAX</b>--WMaSWQ0Q205bd0Ly000W5p00N5ohAMoUpXu050nC0d0a0r0y050B0O0UkN0D0ARY----VH5S0k0C2sKbOiiC0CQW0H0gdwo0A00wLHuY0Knk0dzaTr5y55VB0O5UqN0D5ARYContent-Type: text/plain; charset="utf-8"Content-Description: random-text.txtContent-Disposition: attachment; filename="random-text.txt";Content-Transfer-Encoding: base64Content-ID: <random-text.txt>SlUwTlpVNE9EQVg=--VH5S0k0C2sKbOiiC0CQW0H0gdwo0A00wLHuY0Knk0dzaTr5y55VB0O5UqN0D5ARYContent-Type: text/plain; charset="utf-8"Content-Description: no-matter.txtContent-Disposition: attachment; filename="no-matter.txt";Content-Transfer-Encoding: base64Content-ID: <no-matter.txt>w4kgQklSTCBNRVNNTw==--VH5S0k0C2sKbOiiC0CQW0H0gdwo0A00wLHuY0Knk0dzaTr5y55VB0O5UqN0D5ARY--

Cats萌萌

您可以尝试使用此&nbsp;https://github.com/jordan-wright/email&nbsp;生成具有相同内容和附件的.eml文件,然后将其与您的文件进行比较以找出差异。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go