问题标签 [mime-message]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Mime 7 位编码和 UnsupportedEncodingException
我已经实施了一种方法,但我不确定它是否正确,或者将来会给我带来问题。
给这封电子邮件:
而这段代码:
例外是:
我做了这个修改,所以字符集总是utf-8
和编码quoted-printable
例外不再存在并且plainContent
是正确的。但这似乎太容易解决了……我将来会遇到哪些问题?有没有更好的方法来跳过异常并在不强制 carset 和编码的情况下获取电子邮件内容?
java - 为 MimeMessage 设置内容类型?
我对 mime 消息的内容类型感到困惑。假设我有一条 mime 消息。这是一个多部分消息,正文部分是这样的
- 包含纯文本、html 文本的 Mime 正文部分(如正文中的一些粗体字母)
- 包含附件的第二个 mime 身体部分,
- 第三个 mime 正文部分包含一个内联图像(从带有 cid 的正文引用)
当我创建正文部分时,我是否应该明确设置顶部 mime 消息的内容类型,然后是每个正文部分?
如果是,在上面的例子中它们应该是什么?
multipart/alternative
建议用于 html,multipart/mixed
建议用于附件,multipart/related
建议用于内联。我正在使用所有这些,那么完整消息和不同正文部分的内容类型应该是什么?
只是为了提供信息,我试图复制上面的场景,我既没有为整个 MimeMessage 也没有为正文部分设置内容类型。
但我仍然得到了预期的东西,比如纯文本、正文中的粗体字母、附件、詹姆斯在正确位置的内联图像
为什么 James 在不设置内容类型的情况下解释 mime 消息和正文部分,又为什么以正确的方式显示它们?
参考代码
使用上面的代码,我在与 James 集成的 ThunderBird 中的正确位置获得了正确的 html 文本、纯文本、内联图像和附件。
所以我不明白何时何地将,multipart/mixed
设置为 Content-Type 还是邮件服务器在内部设置它?multipart/alternative
multipart/related
java - 在电子邮件中嵌入内联图像并通过 cid 引用它?
我正在使用带有 mime 消息的电子邮件发送内联图像。这是相同的简短代码。这工作正常。我的问题是我没有将 MimeMessage 内容类型设置为多部分/相关(也没有将多部分子类型设置为相关),但我的代码工作正常并且我能够在预期位置获得内联图像。当我使用 cid 引用图像部分时,我是否真的应该关心将 Content-Type 设置为 multipart/related 或服务器会处理这个问题?
仅供参考,我的电子邮件客户端可以是 Outlook、lotusnotes、yahoo、gmail、thunderbird
java - 发送包含这些附件、htmlbody、内联图像或所有这些附件的 mime 消息?
据了解,我的电子邮件应用程序仅支持带有附件的纯文本。如果附件列表为空,我以简单的方式处理它,只需发送 mime 消息,如果附件列表不为空,我将为每个附件创建正文部分,为正文创建一个。将它们添加到设置为 mime 消息的 multipart 中。
但现在需要支持 html 部分和内联图像(其中图像将作为附件发送,html 正文将引用)。我知道 mime 的基础知识,即如何为每种 mime 类型创建正文部分。但实际上,当我不知道正文和附件列表将包含什么时,我不知道如何在运行 timw 时创建正文部分。例如,正文只能包含纯文本或 html 正文或带有附件的 html 正文或带有带附件的内联图像的 html 正文或带有附件的纯正文。
坦率地说,我不知道如何处理上述排列和组合的电子邮件正文和附件列表。(例如,有时我需要创建顶部消息作为多部分/混合包含正文部分作为多部分/替代和另一个正文部分平原,bla bla ....)。是否有基于正文内容和附件列表处理这些所有场景的标准代码。请指出我正确的方向?
这是旧的方法签名,它只支持带有附件的纯文本
java - 如何使用 JavaMail 的 MimeMultipart 覆盖默认的唯一边界字符串并创建我们自己的边界?
我有一个我使用的网络应用程序,它需要一个特定的边界字符串,如(“公司 mime 边界”)。
当我这样做时,我没有找到一种方法来覆盖 MimeMultipart 的默认行为
Multipart mp = new MimeMultipart();
构造函数始终创建唯一的边界字符串,我想覆盖此行为以拥有自己的边界字符串,但由于没有找到任何 API,因此无法这样做。
即使我将它设置为内容类型,它也不起作用并始终创建一个唯一的边界字符串,因为 MimeMultipart 正在创建一个默认字符串。
mimeMsg.setHeader("Content-Type","multipart/mixed;boundary="company mime boundary");
任何人都可以请建议/帮助我。
如何覆盖此默认行为?
ios - 任何人为 iOS 编译 mimetic
我想为 IMAP 消息创建一个 mime / multipart 解析器。我有几个链接说mimetic可以做到这一点,但我无法为 iOS 编译它。任何帮助将不胜感激。
java - Spring MimeMessageHelper:添加多个CC时出现AddressException
我需要在我的邮件消息中添加多个抄送地址,但我不断收到以下异常:
这是我的代码:
ccAddress 的原始值为“email@email.com;email@email.com” 实际地址有效。为什么会抛出异常并将“,15”添加到CC地址的末尾?
谢谢
java - 用 mockito 模拟多部分 mime 请求
我对 Mockito 和模拟 servlet 进行测试还很陌生。我在模拟 HttpServletRequest 时遇到问题,它将一些表单数据作为 MimeMultiPart 发送到我的 servlet。在我的 servlet 中,我调用request.getInputStream()
如下:
当我模拟我的输入流时,我创建了一个完整的 MimeMultiPart 消息,然后我尝试在下面的代码中从中返回一个 ServletInputStream
现在,当我运行此测试时,我收到以下错误outStream.writeObject(object)
:
没有必要发布堆栈跟踪的其余部分,我很确定问题是 MimeMultiPart 不可序列化,但我不知道如何纠正这个问题。还有另一种方法来模拟请求吗?我很茫然 :(
java - 在 MimeMessage 中没有正确解释换行符?
所以这是我在调试器中检查时的格式化内容
但是当我在雷鸟中收到它时,我会在一行中收到完整的消息,如下所示。将内容作为 html 发送时,换行符无法正确解释
这是我将消息作为 html 发送的方式
如果我只是将文本作为 msg.setText(body, CHARSET_UTF_8) 发送,那么我会在下一行看到正确格式的消息,即“通过 Internet 发送邮件”。我不明白为什么在将文本作为 html 发送时没有正确解释换行符?
java - Java 在 MimeMessage 消息中添加标头
我正在解决的问题是,当我发送邮件时,如果收件人(邮件,抄送/密送)不存在,我不希望发件人收到传递状态通知(失败)邮件。
我正在实施的解决方案是在邮件Prevent-NonDelivery-Report中添加新标头
我想在 java 中的 MimeMessage msg 中添加新标头
我找到了解决方案,我将 props.setProperty("mail.smtp.dsn.notify", "NEVER") 添加到会话的属性中并解决了我的问题