相关疑难解决方法(0)

在html电子邮件中嵌入图像

我正在尝试发送带有嵌入式gif图像的多部分/相关html电子邮件.此电子邮件是使用Oracle PL/SQL生成的.我的尝试失败了,图像显示为红色X(在Outlook 2007和雅虎邮件中)

我已经发送了一段时间的HTML电子邮件,但我现在要求在电子邮件中使用几个gif图像.我可以将它们存储在我们的一个Web服务器上并链接到它们,但许多用户的电子邮件客户端不会自动显示它们,并且需要更改设置或手动为每个电子邮件下载它们.

所以,我的想法是嵌入图像.我的问题是:

  1. 我在这做错了什么?
  2. 嵌入方法是否正确?
  3. 如果我需要使用越来越多的图像,还有其他选择吗?附件不起作用,因为图像通常是徽标和图标,这些图标和图标在消息的上下文中无法理解.此外,电子邮件的某些元素是指向在线系统的链接,因此生成静态PDF和附加将无法工作(据我所知).

片段:

MIME-Version: 1.0
To: me@gmail.com
BCC: me@yahoo.com
From: email@yahoo.com
Subject: Test
Reply-To: email@yahoo.com
Content-Type: multipart/related; boundary="a1b2c3d4e3f2g1"

--a1b2c3d4e3f2g1

content-type: text/html;

    <html>
    <head><title>My title</title></head>
    <body>
    <div style="font-size:11pt;font-family:Calibri;">
    <p><IMG SRC="cid:my_logo" alt="Logo"></p>

... more html here ...

</div></body></html> 

--a1b2c3d4e3f2g1

Content-Type: image/gif;
Content-ID:<my_logo>
Content-Transfer-Encoding: base64
Content-Disposition: inline

[base64 image data here]

--a1b2c3d4e3f2g1--
Run Code Online (Sandbox Code Playgroud)

非常感谢.

顺便说一句:是的,我已经验证了base64数据是正确的,因为我可以将图像嵌入到html本身(使用相同的算法用于创建标题数据)并在Firefox/IE中查看图像.

我还应该注意,这不是针对垃圾邮件,而是将电子邮件发送给每天都在期待的特定客户.内容是数据驱动的,而不是广告.

html email oracle mime image

104
推荐指数
6
解决办法
34万
查看次数

如何在电子邮件中将SVG嵌入到HTML中,以便在大多数/所有电子邮件浏览器中都可以看到它?

我想在SVG中生成图形,并通过电子邮件发送嵌入其中的图形的HTML页面(不存储在服务器上并显示链接图像).

我尝试使用Object元素直接嵌入SVG,并对SVG进行序列化和URI编码,并将整个字符串指定为div上的背景图像.Outlook 2013中似乎没有显示任何内容.任何想法?

html svg html-email

23
推荐指数
2
解决办法
5万
查看次数

Gmail会阻止电子邮件模板中的小型嵌入式内嵌图像

我正在向我的会员发送电子邮件,看起来Gmail正在阻止我在电子邮件中放置的图片.它们作为基础64编码的字符串嵌入到img标记中.我在网上查看了多个关于Gmail不发送图片但没有找到任何有用的内容的主题.以下是我到目前为止尝试过的一些事情.1.在Gmail中启用外部图像(通过设置图标)2.将图像的大小减小到8000字节以下(Outlook.com不会发送图像~15000字节)

如果我发送到outlook.com电子邮件地址,我会收到图片,但在Gmail中,img标签的src为空,电子邮件中没有图片显示.我正在使用https://putsmail.com来测试/发送我的电子邮件,所以我知道问题不是SendGrid(我的电子邮件发送服务)或我的应用程序的问题.

这是我下面的模板之一.我正在使用来自litmuss的电子邮件模板.下面的所有内容基本上都是默认的,除了我添加的额外信息,如图片和电子邮件正文中的一些额外文字.

这是一个带有图像数据的完整模板的jsfiddle,可以直接复制到putsmail中并发送给测试!任何关于Gmail不发送图片的帮助或信息都会很棒!

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <style type="text/css">
        /* FONTS */
        @@media screen {
            @@font-face {
                font-family: 'Lato';
                font-style: normal;
                font-weight: 400;
                src: local('Lato Regular'), local('Lato-Regular'), url(https://fonts.gstatic.com/s/lato/v11/qIIYRU-oROkIk8vfvxw6QvesZW2xOQ-xsNqO47m55DA.woff) format('woff');
            }

            @@font-face {
                font-family: 'Lato';
                font-style: normal;
                font-weight: 700;
                src: local('Lato Bold'), local('Lato-Bold'), url(https://fonts.gstatic.com/s/lato/v11/qdgUG4U09HnJwhYI-uK18wLUuEpTyoUstqEm5AMlJo4.woff) format('woff');
            }

            @@font-face {
                font-family: 'Lato';
                font-style: italic;
                font-weight: 400;
                src: local('Lato Italic'), local('Lato-Italic'), url(https://fonts.gstatic.com/s/lato/v11/RYyZNoeFgb0l7W3Vu1aSWOvvDin1pK8aKteLpeZ5c0A.woff) format('woff'); …
Run Code Online (Sandbox Code Playgroud)

html email gmail image

23
推荐指数
4
解决办法
2万
查看次数

用Thymeleaf显示Base64String图像

我将jpg图像存储在数据库中(作为字节数组).我想避免在显示在网页上之前删除文件系统.

单元测试表明数据库存储和检索工作没有损坏.可以从数据库中提取Fies并将其转换回jpg文件

图像已转换为bytearray并使用以下代码存储在数据库中:

public static byte[] getImageAsBytes(BufferedImage buffer) throws IOException
{
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write(buffer, "jpg", baos);
    baos.flush();
    byte[] imageInByte = baos.toByteArray();
    baos.close();
    return imageInByte;

}
Run Code Online (Sandbox Code Playgroud)

我有一个ViewWrapperMediaImage类,它包含从数据库中检索的字节数组.该类还有一个将bytearray转换为base64 String的方法.

package jake.prototype2.controller.viewwrapper;

import org.apache.commons.codec.binary.Base64;

import jake.prototype2.model.assessment.MediaImage;
import jake.prototype2.model.assessment.TestStructureException;
import jake.prototype2.model.structure.InterfacePersistenceBean;

public class ViewWrapperMediaImageCreate extends ViewWrapperTestContentElementCreate
{

private byte[] image;

protected String mediaFileName;

private static final long serialVersionUID = 4181515305837289526L;

public ViewWrapperMediaImageCreate(InterfacePersistenceBean persistenceBean) throws TestStructureException
{
    ....
    }
}

public byte[] getImage()
{
    return image;
}

public String generateBase64Image()
{
    return …
Run Code Online (Sandbox Code Playgroud)

apache-commons-codec thymeleaf

8
推荐指数
1
解决办法
6522
查看次数

带变量的 thymeleaf 绝对 URL

我正在尝试使用 Thymeleaf 将域名 url 注入到链接中。我的网址是从控制器传递的,因为我记录了日志并看到了它。

我的 Thymeleaf html 模板中的链接如下:

<link type="text/css" th:href="@{${DomainUrl}/web/assets/css/foundation5/foundation.min.css}" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

但是,当我在本地运行它时,它不会替换域,例如,抛出错误(因为当然找不到 URL)呈现如下: http://localhost:8081/pss/ui/ $%7BDomainUrl %7D/web/assets/css/components.css

spring spring-mvc thymeleaf

7
推荐指数
2
解决办法
6908
查看次数