# 邮件中的图片URL

**URL:** <https://meta.discourse.org/t/urls-for-images-in-emails/260405>\
**Category:** Feature\
**Created:** [2023年四月3日 16:30 UTC](https://meta.discourse.org/t/urls-for-images-in-emails/260405 "2023-04-03T16:30:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![MikeNolan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mikenolan/32/297597_2.png) [@MikeNolan](https://meta.discourse.org/u/MikeNolan)\
**Post date:** [2023年四月3日 16:30 UTC](https://meta.discourse.org/t/urls-for-images-in-emails/260405/1 "2023-04-03T16:30:16Z")

</div>

我称之为一项功能，因为我不确定它是否是一个错误。

我的旧列表服务器（mailman）上仍然有数百名订阅者，目前我正在将帖子转发给他们，这可能会持续数月。

但带有图片的帖子没有传过来。mailman系统从未设置为支持包含图形，但我曾希望电子邮件版本能有一个完整的URL。

我在电子邮件中看到的是这样的：  
image|374x500]

后面跟着  
(upload://4lnzFmZwbVQ8b5FIVzpTbSiqjIU.jpeg)

我需要的是完整的URL，更像是这样：  
https://

后面跟着  
[lists.tssi.com/uploads/default/original/3X/1/e/](http://lists.tssi.com/uploads/default/original/3X/1/e/)

后面跟着  
1e7367552809e27414c39d0edd4223bb2c1c05fc.jpeg

这可能吗？

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [2023年四月3日 16:35 UTC](https://meta.discourse.org/t/urls-for-images-in-emails/260405/2 "2023-04-03T16:35:01Z")

</div>

> [@MikeNolan](#):
>
> 但我希望电子邮件版本包含完整网址。

电子邮件 **确实包含图片的完整网址** 。

我们发送两个电子邮件“部分”：

- “Content-Type: text/html” 包含完全渲染的 HTML，图片使用完整网址，例如在 GMail 上可以正常显示。

- “Content-Type: text/plain” 发送帖子的原始 markdown “原始”，并且会在电子邮件中显示上传代码 markdown，因为我们不会在那里进行转换。

---

<div class="post-metadata">

**Author:** ![MikeNolan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mikenolan/32/297597_2.png) [@MikeNolan](https://meta.discourse.org/u/MikeNolan)\
**Post date:** [2023年四月3日 16:56 UTC](https://meta.discourse.org/t/urls-for-images-in-emails/260405/3 "2023-04-03T16:56:57Z")

</div>

发送到旧列表服务器的内容似乎只有文本片段，但更奇怪的事情还在发生。我用来将帖子中继到 mailman 服务器的用户 ID 正在从邮件列表模式更改为非邮件列表模式，当这种情况发生时，帖子将完全停止中继。今天已经发生两次了。

---

<div class="post-metadata">

**Author:** ![MikeNolan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mikenolan/32/297597_2.png) [@MikeNolan](https://meta.discourse.org/u/MikeNolan)\
**Post date:** [2023年四月3日 17:12 UTC](https://meta.discourse.org/t/urls-for-images-in-emails/260405/4 "2023-04-03T17:12:51Z")

</div>

我认为中继帐户被取消设置的原因是，中继的帖子包含 discourse 服务器的退订链接，人们点击了该链接，从而取消了中继用户 ID 的订阅。

目前，我已删除了一键退订 discourse 服务器的链接。我需要看看是否能在 mailman 服务器而不是 discourse 中解决这个问题。

更新：我已经在 mailman 端解决了这个问题。

我认为这与我最初提出的问题无关，但我仍在尝试弄清楚 mailman 是否在篡改中继消息的 HTML 部分。

更新 2：我发现了一个需要更改的 mailman 设置。

---

<div class="post-metadata">

**Author:** ![sjjh](https://avatars.discourse-cdn.com/v4/letter/s/d2c977/32.png) [@sjjh](https://meta.discourse.org/u/sjjh)\
**Post date:** [2023年十二月30日 20:59 UTC](https://meta.discourse.org/t/urls-for-images-in-emails/260405/5 "2023-12-30T20:59:44Z")

</div>

抱歉再次提起这个话题，但我想知道我们是否可以在电子邮件中为图片添加两个功能，因为我也有一些用户无法显示图片（默认情况下）。为了改善用户体验，我想提出以下建议：

> [@Falco](#):
>
> - “Content-Type: text/html” 包含完整的 HTML，图片使用完整 URL，例如在 GMail 中可以正常显示。

_功能请求：将图片 URL 添加到 alt 文本。_ 基本原理：如果外部内容加载被禁止（现在可能很多邮件客户端的默认设置），（至少在 Thunderbird 中）只会显示 alt 文本。因此，用户只会看到 `image0`。如果它变成 `image0: https://example.com/uploads/default/original/1X/hash.jpeg`，用户就可以点击链接/复制链接，然后在他们的网页浏览器中打开带有图片的 URL。

> [@Falco](#):
>
> - “Content-Type: text/plain” 会将帖子的原始 markdown “原始”发送，并且会像我们不在此处执行转换一样，在电子邮件中显示上传代码 markdown。

_功能请求：在 markdown 中包含完全限定域名（或用图片 URL 替换 markdown）_ 基本原理：电子邮件的纯文本部分将显示 `![image0|640x480](upload://hash.jpeg)`，这需要了解运行 discourse/托管上传的服务器的域名，并手动组合链接。显示 `![image0|640x480](https://example.com/uploads/default/original/1X/hash.jpeg)` 或 `image0: https://example.com/uploads/default/original/1X/hash.jpeg)` 将使文本/纯文本内容的读者能够直接点击/复制链接，在网页浏览器中直接打开它。

感谢您的辛勤工作和对这两个功能请求的考虑！
