如何在电子邮件中显示受保护的图像

时间:2016-11-17 13:34:40

标签: image laravel email html-email avatar

我正在使用Laravel 5.3创建一个Web应用程序,只有授权用户才能查看该应用程序中的图像。例如,让我们说像Facebook这样的东西,只有朋友可以查看用户的头像,如果权限是这样设置的。从应用程序查看图像时,api会检查auth凭据,检查权限并相应地显示用户图像。但是,我的问题是,如果我向用户发送通知电子邮件,如何在电子邮件中显示受保护的图像?例如,如果我在html电子邮件中添加img这样的网址:

<img src="http://example.com/api/image/useravatarname.jpg" />

以上将失败,因为它没有令牌。在这些情况下,受保护的电子邮件如何显示在电子邮件中?像Facebook这样的网站是如何做到的?

这些是我想到但不满意的方法:

1)嵌入图片二进制数据:我不知道添加图片二进制数据是否适用于html电子邮件。即使它确实如此,在发送电子邮件时它似乎也不是一个好方法。

2)图片网址参数:我在考虑将一些参数(如用户的电子邮件地址?xyz@gmail.com)添加到img源网址,然后从api找到具有该电子邮件ID的用户并验证他们是否具有查看图像的权限。但问题是,有些人可以通过猜测轻松添加电子邮件ID参数来查看图像。

3) Facebook通知电子邮件:当我查看Facebook通知电子邮件时,我看到电子邮件中的头像显示的内容是这样的,我不知道他们在这里做了什么:

https://ci5.googleusercontent.com/proxy/lkjasdlkjsaldjalsjdlasjdlkjasdljsaldjasldlasdljqljaldjsaldjsaldlsajdlsajdlkasjdkljasldkjaslkdjsakldjsaljdlsajdlasjdla#https://scontent-syd2-1.xx.fbcdn.net/v/t1.0-1/p100x100/ljsdlkjsdljsdljsd_23232323_23232_n.jpg?oh=askaslkalsjalsjalksjalkjsas&oe=58C270EEE

还有其他方法吗?

0 个答案:

没有答案