我在Rails 4中使用邮件程序实现了一项功能。 我设法通过在用户收到的电子邮件上使用内联附件来显示徽标。它运作良好,但我的主管让我试着寻找另一种方式。这是他的问题:
是否需要附上徽标?而不是使用附件,也许url_for? 使用url_for给出图像的绝对路径。这样,图像可以在我们的网站上托管,同时在电子邮件中使用。
-
我试图找到答案,但我无法找到答案。我能使它工作的唯一方法是使用内联附件。
答案 0 :(得分:2)
如果您想在邮件中使用url_for
或xxx_url
个助手,则必须在config/environments/
下的文件中进行一些配置,例如
config.action_mailer.default_url_options = {host: 'www.example.org', protocol: 'https'}
要在邮件模板中使用image_url
或asset_url
,您还需要添加
config.action_mailer.asset_host = 'https://www.example.org'
顺便说一句,内联附件是附件,它们确实增加了邮件的大小,但可以在未经收件人许可的情况下显示。
另一方面,url_for
或某种类型引用的图像只是URL,因此减少了邮件的大小,但是MUA必须发送单独的请求来下载图像,而他们不能这样做这未经收件人的许可。如果收件人拒绝下载,他将看到一个丑陋的破损图像图标。