HTML 电子邮件是一个复杂的野兽。决定发送什么(作为发件人)和显示什么(作为收件人)是很棘手的,而且有潜在的危险。
在收件人方面,我们有网络邮件和常规电子邮件客户端。出于我的目的,我认为“网络邮件”是任何将 HTML 电子邮件显示为本身是 HTML 的一部分的任何内容,而常规电子邮件客户端则是任何在不同上下文中显示 HTML 电子邮件的内容(例如操作系统和特定于程序的 GUI)。
webmail 应该如何处理电子邮件中的 HTML 标头(<head>、<title>、<meta>、 ...)?
某处是否有规范,是作为实际标准还是事实上的标准?
我提出这个问题的动机是我们使用HTML Purifier来清理我们的 HTML,如果它的Core.CollectErrors功能报告发生了变化,他们就会被报告。这种“报告”既必要……又令人沮丧。我们删除了一些报告的错误,认为对我们的目的来说无关紧要,但 HTML 标头标志着一个巨大的障碍:
有人可能会<link>在他们的电子邮件中使用,我们将删除。(HTML Purifier 适用于 HTML片段,而非完整文档)
使用<link>HTML 电子邮件之类的东西的愿望似乎确实存在,并且有很多电子邮件客户端<meta>在 HTML 标题(例如 Outlook)中发送-tags,但是如何处理这些事情?悄悄地剥离它们是否安全(就我们而言,这表示“非破坏性更改”)并在发送方确实破坏时将其归咎于众所周知的责任?这合理吗?有没有人以一种或其他方式决定过这一点?我的 google-fu 很弱。:(
我正在寻找保存包含内嵌图像和 HTML 内容的电子邮件正文的最佳方法。我想保留邮件中包含的所有内容。
我的最终目标是将完整的电子邮件正文保存为 PDF
如果有直接的方法将电子邮件正文写入 PDF ?
如果不是,保存电子邮件的最佳格式是什么?
我可以使用其他一些可用的 API 将 HTML、DOC 等转换为 PDF。
private void downloadAttachment(Part part, String folderPath) throws Exception {
String disPosition = part.getDisposition();
String fileName = part.getFileName();
String decodedText = null;
logger.info("Disposition type :: " + disPosition);
logger.info("Attached File Name :: " + fileName);
if (disPosition != null && disPosition.equalsIgnoreCase(Part.ATTACHMENT)) {
logger.info("DisPosition is ATTACHMENT type.");
File file = new File(folderPath + File.separator + decodedText);
file.getParentFile().mkdirs();
saveEmailAttachment(file, part);
} else if (fileName != null && disPosition …Run Code Online (Sandbox Code Playgroud) 我试着放一个像这样的 HTML 超链接
<a href="test-app://param=123">Click here</a>
Run Code Online (Sandbox Code Playgroud)
在我的 HTML 电子邮件模板中并使用 java 邮件库发送它。当我在我的 Gmail 中打开该电子邮件时,它显示“单击此处”,但该链接不可单击。只是<a>点击这里</a>(删除了“href="test-app://param=123"部分)。当我用 www.google 之类的链接替换 href 中的链接时,效果很好。 com.
请帮忙
我正在尝试将图像显示为使用 Python 发送的邮件的一部分。Python 文档上有一个不起作用的示例。
from datetime import datetime
import sys
import smtplib
from email.message import EmailMessage
from email.headerregistry import Address
from email.utils import make_msgid
from email.mime.image import MIMEImage
attachment = '/user/file/test.png'
import email.policy
msg = EmailMessage()
msg['To'] = Address("Srujan", 'myemail@example.com')
msg['From'] = Address("Srujan", 'myemail@example.com')
msg['Subject'] = "Nice message goes with it "+str(datetime.now())
id = make_msgid()
msg.set_type('text/html')
msg.set_content(" This is the Data Message that we want to send")
html_msg = "<br> <b><u> This is the Text .... </u></b><br> <img src='cid:{image_id}' />".format(image_id=id[1:-1]) …Run Code Online (Sandbox Code Playgroud) 是否可以将文本阴影功能与内联 CSS 一起使用?我试图给我的标题一个边框,但似乎没有任何效果。我正在为 IT 票务应用程序中的电子邮件模板编写此内容,因此无法添加单独的样式表。看来我的选择是有限的。也许我的语法是错误的?
<h1 style="text-align: center">
<span style="font-family: Verdana">
<span style="text-shadow: -1px -1px #ffffff, -1px 1px #ffffff, 1px -1px #ffffff, 1px 1px #ffffff">
Service Request Created
</span>
</span>
</h1>Run Code Online (Sandbox Code Playgroud)
请让我知道我正在尝试做的事情是否可能。
我已经建立了一个 html 电子邮件并使用了谷歌字体。
我已经使用以下方法在 head 标签中包含了字体:
?!--[if !mso]??!--?
<link href="https://fonts.googleapis.com/css?family=Oswald:200,300,400,500,600,700" rel="stylesheet"/>
<link href="https://fonts.googleapis.com/css?family=Merriweather+Sans:300,300i,400,400i,700,700i,800,800i" rel="stylesheet"/>
?!--?![endif]--?
Run Code Online (Sandbox Code Playgroud)
并使用字体,即我这样做了:
<tr>
<td valign="top">
<p style="line-height:1;margin:0;color:#ffffff;font-family:'Merriweather Sans', sans-serif;font-size:12px;font-weight:normal;">Für Fragen sind wir jederzeit für Dich da:</p>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
问题是:字体在苹果邮件上完美呈现,在 Gmail 上只有 Oswald。
我试图弄清楚为什么“Merriweather Sans”没有正确呈现,但没有机会。
请问你能帮帮我吗?
我正在使用 html 发送电子邮件。由于大多数提供商阻止图像,我使用 box-shadow 来绘制我需要的图像。但是,在浏览器中显示正常,但在电子邮件中没有任何显示。难道我做错了什么?还有其他选择吗?
</head>
<body style="height: 100%;width: 100%;">
<div class="pixels" style="border-radius: 0;display: inline-block;width: 1px;height: 1px;box-shadow: 0px 0px rgba(228,232,233,1),0px 1px.......;"><p> teste</p>
</div></body>
</html>Run Code Online (Sandbox Code Playgroud)
我们正在通过亚马逊 ses 发送 html 电子邮件。看来 gmail 正在更改 href 标签并使其无法使用。它几乎看起来像是在那里放置跟踪信息而不是原始链接。以下是我们发送给 ses 的内容以及我们在客户电子邮件中看到的内容。电子邮件中的所有 href 标签都会发生这种情况,但并非所有发送到 gmail 的电子邮件都会发生这种情况。
发送到 ses:
<a ses:no-track href="http://www.Google.com">www.Google.com</a>
客户邮箱:
<a href="http://esfsecev-ty3014" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=http://esfsecev-ty3014&source=gmail&ust=1541799752348000&usg=AFQjCNHRj6rzLaQFMfQQPtoDE_Q9RTTFQQ">
www.GoSurvey.com</a>
提前致谢!
我需要将字体文件嵌入到电子邮件中。我知道它会使电子邮件变得更大,但我需要它是独立的,这意味着没有依赖于互联网连接的链接。
我目前正在使用 cid 方法嵌入图像,效果很好。但是,如果我对字体使用相同的机制,它就不起作用。
即:
@font-face
{
font-family: Andale;
src: url("cid:andale_location") format('woff2');
}
Run Code Online (Sandbox Code Playgroud)
当我进入 MIME 的某处时:
Content-Type: font/woff2
Content-Disposition: inline
Content-Transfer-Encoding: base64
Content-ID: <andale_location>
d09GMgABAAAAAMEYAA4AAAABikAAAMC7AAE....
Run Code Online (Sandbox Code Playgroud)
当我收到带有该 CSS 的电子邮件(进入 HTML 的 head 部分)时,gmail 和 Outlook 都会忽略字体部分。我在电子邮件中收到了一个二进制附件,但没有任何字体。使用字体系列“Andale”根本不起作用。
我一般不熟悉 HTML 代码。我正在尝试使用此模板创建 HTML 电子邮件。一切正常,除了一件事:当我的手机处于黑暗模式时,电子邮件颜色会发生变化。我怎样才能禁用它?
html-email ×10
html ×5
css ×3
email ×2
gmail ×2
amazon-ses ×1
embedding ×1
font-face ×1
fonts ×1
gmail-api ×1
htmlpurifier ×1
hyperlink ×1
jakarta-mail ×1
java ×1
mime ×1
pdf ×1
python-3.x ×1
smtp ×1
webmail ×1