我有一个需要发送确认电子邮件等的Tomcat应用程序.我已经用Javamail(mail.jar)编写了电子邮件编码器来发送多部分文本/ HTML电子邮件.我将代码基于Java EE示例.我在本地服务器上使用SMTP MTA.
它很棒.在Outlook中,我看到了HTML版本.如果我将其拖到Outlook垃圾邮件文件夹中,我会看到文本版本.所以我解释说它有效.
但是,如果我在Gmail中查看电子邮件,我只会看到文字版本.我知道HTML就在那里(这就是Outlook从中得到的).但是Gmail没有显示它...我有很多来自其他系统的电子邮件,在Gmail中显示为HTML.
有人能指出我显示我失踪的规格吗?我需要创建特殊标题吗?
谢谢
代码如下所示:
Message message = new MimeMessage(session);
Multipart multiPart = new MimeMultipart("alternative");
try {
MimeBodyPart textPart = new MimeBodyPart();
textPart.setText(text, "utf-8");
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(html, "text/html; charset=utf-8");
multiPart.addBodyPart(htmlPart);
multiPart.addBodyPart(textPart);
message.setContent(multiPart);
if(from != null){
message.setFrom(new InternetAddress(from));
}else
message.setFrom();
if(replyto != null)
message.setReplyTo(new InternetAddress[]{new InternetAddress(replyto)});
else
message.setReplyTo(new InternetAddress[]{new InternetAddress(from)});
InternetAddress[] toAddresses = { new InternetAddress(to) };
message.setRecipients(Message.RecipientType.TO, toAddresses);
message.setSubject(subject);
message.setSentDate(new Date());
Transport.send(message);
} catch (AddressException e) {
e.printStackTrace();
System.out.println("Error: "+e.getMessage());
} catch (MessagingException …
Run Code Online (Sandbox Code Playgroud) Mail multipart/alternative vs multipart/mixed的答案表明附件应该是multipart/alternative
消息的对等,如:
我想发送带有一些内嵌图像和纯文本替代品的html部分的电子邮件.各个部分的首选MIME布局是什么?在示例代码和其他问题中出现了几个选项,但哪些选项在实践中效果最好?我倾向于这样:
这样,图像显然是为了渲染html部分.一个完整的例子是:
From: Rich Example <rich-example@example.org>
To: A Recipient <recipient@example.org>
Subject: An example of email with images and a plain alternative
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="outer-boundary"
This is a MIME-encoded message. If you are seeing this, your mail
reader is old.
--outer-boundary
Content-Type: text/plain; charset=us-ascii
This message might make you :) or it might make you :( …
Run Code Online (Sandbox Code Playgroud) 我正试图弄清楚如何在Go中为电子邮件构建multipart/mime信封.以下代码生成正确嵌套的实体 - 但未正确插入边界.
您可以在https://play.golang.org/p/XLc4DQFObRn上看到演示
package main
import (
"bytes"
"fmt"
"io"
"log"
"math/rand"
"mime/multipart"
"mime/quotedprintable"
"net/textproto"
)
// multipart/mixed
// |- multipart/related
// | |- multipart/alternative
// | | |- text/plain
// | | `- text/html
// | `- inlines..
// `- attachments..
func main() {
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
var part io.Writer
var err error
// Text Content
part, err = writer.CreatePart(textproto.MIMEHeader{"Content-Type": {"multipart/alternative"}})
if err != nil {
log.Fatal(err)
}
childWriter := multipart.NewWriter(part) …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在重置密码电子邮件中显示公司徽标。我已经检查了 keycloak 文档,发现它们不支持它。我还尝试将图像编码为 base64,但 Gmail 不支持。我怎样才能做到这一点?
我正在用 ruby 制作自己的电子邮件客户端,它当前可以解析/读入消息。它还可以创建消息回复、设置标头并将消息发送给原始发件人。
如何将原始引用的消息添加到回复中?
我应该如何格式化回复中的原始消息?有最佳实践或格式吗?MIME/RFC?我知道应该有一个 HTML 和文本字符串。只是不确定如何制作这些字符串。
现在我的回复下面没有原始消息,这使得它本身很难理解。
我正在尝试发送漂亮的 MIME 电子邮件,其中 html 将尽可能显示,如果不可能,它应该有一个文本回退。
也就是说,当 html 包含图像时,“alternative”部分应显示“img ... should be here”。
问题是我在 gmail 中看到了所有内容,还有其他选择。
我的 MIME 消息有问题吗?
以下是内容:
Content-Type: multipart/mixed; boundary="===============9061258228856181354=="
MIME-Version: 1.0
From: me@gmail.com <me@gmail.com>
To: me@gmail.com
--===============9061258228856181354==
Content-Type: multipart/alternative; boundary="===============2889524977048828163=="
MIME-Version: 1.0
--===============2889524977048828163==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
img 1043833786270341319 should be here
--===============2889524977048828163==--
--===============9061258228856181354==
Content-Type: image/jpeg; name="sky.jpg"
MIME-Version: 1.0
Content-ID: <1043833786270341319>
Content-Transfer-Encoding: base64
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK
CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU
FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAEbAakDASIA
AhEBAxEB/8QAHQAAAgIDAQEBAAAAAAAAAAAAAgQBAwUGBwAICf/EADoQAAEEAQMDAwIFAgYBBAMB
--===============9061258228856181354==
Content-Type: multipart/related; boundary="===============7011550496984103126=="
MIME-Version: 1.0
--===============7011550496984103126==
Content-Type: text/html; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
<div><h1>bla</h1></div><img …
Run Code Online (Sandbox Code Playgroud) 我想在Python/Django中编写包含以下部分的HTML邮件:
我关注了这篇博文.
结果:
如何在python中的一个邮件中创建两种方式(下载(info.pdf)和inline(logo.png))?
email ×5
mime ×5
java ×3
python ×2
actionmailer ×1
content-type ×1
django ×1
go ×1
html ×1
html-email ×1
jakarta-mail ×1
keycloak ×1
multipart ×1
ruby ×1
smtp ×1
tomcat ×1