【问题标题】:Inline image attachments with postmark api带有邮戳 api 的内联图像附件
【发布时间】:2015-03-28 12:01:03
【问题描述】:

我正在尝试使用邮戳 API 发送包含图像的 html 电子邮件。我知道邮戳支持内联图像附件,但我不知道该怎么做。我已经阅读了文档,但是那里给出的示例似乎含糊不清,我很理解。 我该怎么办?

【问题讨论】:

    标签: html-email postmark inline-images


    【解决方案1】:

    您的 API 调用基本上如下所示:

        {
        "From": "signature@yourdomain.com",
        "To": "someone@example.com",
        "Subject": "Regular API Test",
        "Tag": "inline",
        "HtmlBody": "<html><body><strong>hello bacon!</strong<br /><img src=\"cid:myimagecid\"/></body></html>",
        "TextBody": "Hello",
        "Attachments": [
            {
                "Name": "bacon.jpg",
                "Content": "/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAQDAwQDAwQEBAQFBQQFBwsHBwYGBw4KCggLEA4RERA...gDgBAA9GT/APrP/9k=",
                "ContentType": "image/jpeg",
                "ContentID": "cid:myimagecid"
            }
        ]
    }
    

    您可以通过 ContentID (CID) 的方式使用对图像的引用来编写 html,而不是指定指向源的链接。然后,您将图像的 base64 转换字符串作为附件的内容部分嵌入。 ContentID 字段让 html 知道在哪里可以找到电子邮件中的图像数据。

    您可以使用任何平台的框架将图像编码为 base64。要练习,请尝试像 http://www.base64-image.de/step-1.php 这样的网站,它会为您提供上传图像的 base64 字符串。

    【讨论】:

    • 好的。我对图像进行了编码,但 base64 字符串非常大。吨线。有没有办法减少这种情况?
    • @ss_millionaire 不,该字符串是您正在使用的附件或图像的完整表示。它应该很大,但它只会和附件本身一样大(以字节为单位),所以这是正常的和预期的。
    猜你喜欢
    • 2011-11-22
    • 2014-08-08
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    相关资源
    最近更新 更多