我正在尝试在发送电子邮件时将图像嵌入到html中。
我的图片(logo.png
)和html(welcome.html.eex
)位于priv
下
可悲的是,我收到的电子邮件中没有图片。
这是我收到的电子邮件:
当我检查元素时,我得到:(没有src=" ... "
)
<img width="212px" height="26px" align="bottom">
虽然 - 当我在本地预览时,我的html(来自my-html.html
- 请参阅我的代码)似乎没问题:
这是我的welcome.html.eex
<p>
<span>
<strong>Bem-Vindo hii</strong> à
<img
src="<%= ~s(data:image/png;base64,) <> Base.encode64(File.read! (Path.join("#{:code.priv_dir(:my_app)}", "logo.png"))) %>"
width="212px" height="26px" align="bottom"/>
</span>
</p>
这是我的代码,使用bamboo
发送电子邮件添加html:
import Bamboo.Email
def send_verify_email() do
File.write "my-html.html", get_html() # writing the html localy - to verify..
new_email()
|> to("foo@bar.com")
|> from(@from_addr)
|> subject("Welcome")
|> html_body(get_html())
|> Mailer.deliver_later
end
end
def get_html() do
EEx.eval_file(Path.join("#{:code.priv_dir(:my_app)}", "welcome.html.eex"), [tok: "123"])
end
我做错了什么?
如何在电子邮件html上附加base 64图像?
我也尝试按路径添加图片
welcome.html.eex
<img src="<%= Path.join("#{:code.priv_dir(:my_app)}", "logo.png") %>"
但仍然得到相同的结果 - 本地html似乎没问题,但在电子邮件html上是:
当我检查时,我得到了
<img src="https://ci4.googleusercontent.com/proxy/4eMU8Te6MM215JLJ5gm3Z9jnC4hytOkDeF4ldFGb1pC17GDhtZphCtH623p1ZwNYZxBfAatQtlX_V9MKALbOE0jIzxVXJ43tZLeA5hUT7tjs7FEz3_PVoUQ5Ih7w0rvuRtLy7pVqR9UoU5TBF5E=s0-d-e1-ft#http:///home/dina/Documents/WK/my_umbrela_app/_build/dev/lib/my_app/priv/logo.png" width="212px" height="26px" align="bottom" class="CToWUd">
所以我确实有src=""
但似乎已经破了...... :(