将 base64 字符串转换为图像并使用 laravel 发送电子邮件
Converting base64 string into image and send in email using laravel
我正在使用 tinymce-vue 编辑器来获取用户信息并 laravel 来存储它。此信息可以是常规文本或图像。我遇到的问题是,因为 tinymce 将图像存储为 base64,所以我无法按原样在电子邮件中发送用户输入。
例如:如果用户在tinymce中上传一张图片,在图片下方插入额外的内容并保存输入的信息,这些信息一起存储在一个列中,然后在指定的时间将信息发送出去一封电邮。但是,电子邮件正文会显示 base64 字符串以及其他用户信息和 html 标签。
有没有办法在字符串中搜索 base64 编码数据,从字符串中检索它,将其转换为图像并将原始 base64 数据替换为实际图像并通过 emal 发送?
我尝试执行该任务,但图像没有出现在电子邮件中 body.I我正在使用 laravel 通知
您在这里真正要问的是两个不同的问题...
- 如何从 TinyMCE 获取 Base64 二进制图像并以适当的格式存储它们?
- 在 HTML 电子邮件中包含图像的最佳方式是什么?
如何从 TinyMCE 获取 Base64 二进制图像并以适当的格式存储它们
TinyMCE 有一个内置的机制来通过它的 images_upload_url
配置选项来解决这个问题。 TinyMCE 文档中有一整页介绍其工作原理:
https://www.tiny.cloud/docs/advanced/handle-async-image-uploads/
网络是您可以让 TinyMCE 将图像文件发送到您选择的端点,然后将其转换为您需要的任何格式。您不需要将其保留为 Base64 二进制文件,并且您很少希望将 Base64 二进制文件作为永久格式。
至于另一个问题...
在 HTML 电子邮件中包含图片的最佳方式是什么?
这本身就是一个非常广泛的话题,并且有很多关于如何包含图像的备选方案的博客文章。
这是 SendGrid 写的一篇关于该主题的文章:
https://sendgrid.com/blog/embedding-images-emails-facts/
如您所见,有多种选择,各有利弊。我无法告诉您哪一个适合您的用例。我的建议是研究替代方案,select 最适合您的应用程序和您希望支持的电子邮件客户端的方案。
我犯的主要错误是使用Laravel的通知来发送信息。相反,我不得不使用 Laravel mailalbes 来解决问题。它自动处理来自 Tinymce 的图像输出。
我正在使用 tinymce-vue 编辑器来获取用户信息并 laravel 来存储它。此信息可以是常规文本或图像。我遇到的问题是,因为 tinymce 将图像存储为 base64,所以我无法按原样在电子邮件中发送用户输入。
例如:如果用户在tinymce中上传一张图片,在图片下方插入额外的内容并保存输入的信息,这些信息一起存储在一个列中,然后在指定的时间将信息发送出去一封电邮。但是,电子邮件正文会显示 base64 字符串以及其他用户信息和 html 标签。
有没有办法在字符串中搜索 base64 编码数据,从字符串中检索它,将其转换为图像并将原始 base64 数据替换为实际图像并通过 emal 发送?
我尝试执行该任务,但图像没有出现在电子邮件中 body.I我正在使用 laravel 通知
您在这里真正要问的是两个不同的问题...
- 如何从 TinyMCE 获取 Base64 二进制图像并以适当的格式存储它们?
- 在 HTML 电子邮件中包含图像的最佳方式是什么?
如何从 TinyMCE 获取 Base64 二进制图像并以适当的格式存储它们
TinyMCE 有一个内置的机制来通过它的 images_upload_url
配置选项来解决这个问题。 TinyMCE 文档中有一整页介绍其工作原理:
https://www.tiny.cloud/docs/advanced/handle-async-image-uploads/
网络是您可以让 TinyMCE 将图像文件发送到您选择的端点,然后将其转换为您需要的任何格式。您不需要将其保留为 Base64 二进制文件,并且您很少希望将 Base64 二进制文件作为永久格式。
至于另一个问题...
在 HTML 电子邮件中包含图片的最佳方式是什么?
这本身就是一个非常广泛的话题,并且有很多关于如何包含图像的备选方案的博客文章。
这是 SendGrid 写的一篇关于该主题的文章:
https://sendgrid.com/blog/embedding-images-emails-facts/
如您所见,有多种选择,各有利弊。我无法告诉您哪一个适合您的用例。我的建议是研究替代方案,select 最适合您的应用程序和您希望支持的电子邮件客户端的方案。
我犯的主要错误是使用Laravel的通知来发送信息。相反,我不得不使用 Laravel mailalbes 来解决问题。它自动处理来自 Tinymce 的图像输出。