Rails 邮件拉取发送中 img 标签 cid 问题

qiuying · 2023年02月10日 · 最后由 Rei 回复于 2023年02月10日 · 364 次阅读
<img src=\"cid:[email protected]\" border=\"0\" style=\"line-height: 1.5; background-color: transparent;\" onerror=\"\">

请教一下各位大佬,该段内容是使用 mail 这个 gem 拉取下来的 html_part.decoded 返回,这个 cid 路径该怎么处理,完全无法解析出真正的图片。

看 attachemnt 里面,应该有个类似 id 属性的图片附件。

Rei 回复

attachemnt 里是 nil,没有附件

看 email 原件,哪里解析不对。

Rei 回复

就是这个 img 标签无法正确渲染,路径是错误的

我用 gmail 发送了一封测试邮件,这是邮件原件:

Content-Type: multipart/related; boundary="000000000000b757c605f4549877"

--000000000000b757c605f4549877
Content-Type: multipart/alternative; boundary="000000000000b757c405f4549876"

--000000000000b757c405f4549876
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64

5Zu+54mH77yaW2ltYWdlOiAxQzBXUjhDanVWM01DYnV1a2pPcWVVZy5wbmddDQo=
--000000000000b757c405f4549876
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">=E5=9B=BE=E7=89=87=EF=BC=9A<img src=3D"cid:ii_ldyah1k50" a=
lt=3D"1C0WR8CjuV3MCbuukjOqeUg.png" width=3D"542" height=3D"304"><br></div>

--000000000000b757c405f4549876--
--000000000000b757c605f4549877
Content-Type: image/png; name="1C0WR8CjuV3MCbuukjOqeUg.png"
Content-Disposition: attachment; filename="1C0WR8CjuV3MCbuukjOqeUg.png"
Content-Transfer-Encoding: base64
X-Attachment-Id: ii_ldyah1k50
Content-ID: <ii_ldyah1k50>


--000000000000b757c605f4549877--

可以看到,cid:ii_ldyah1k50 对应下面的 Content-ID: <ii_ldyah1k50>,cid 是内嵌引用附件的一个方法。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号