将base64字符串转换为图像并使用laravel发送电子邮件

将base64字符串转换为图像并使用laravel发送电子邮件,laravel,vuejs2,tinymce,Laravel,Vuejs2,Tinymce,我正在使用tinymce vue编辑器获取用户信息,并使用laravel存储信息。此信息可以是常规文本或图像。我遇到的问题是,由于tinymce将图像存储为base64,因此无法按原样将用户输入发送到电子邮件中 例如:如果用户在tinymce内上传图像,在图像下插入其他内容并保存输入的信息,这些信息将一起存储在一列中,然后在指定时间以电子邮件的形式发送出去。但是,电子邮件正文显示base64字符串以及其他用户信息和html标记 是否有方法在字符串中搜索base64编码的数据,从字符串中检索数据,

我正在使用tinymce vue编辑器获取用户信息,并使用laravel存储信息。此信息可以是常规文本或图像。我遇到的问题是,由于tinymce将图像存储为base64,因此无法按原样将用户输入发送到电子邮件中

例如:如果用户在tinymce内上传图像,在图像下插入其他内容并保存输入的信息,这些信息将一起存储在一列中,然后在指定时间以电子邮件的形式发送出去。但是,电子邮件正文显示base64字符串以及其他用户信息和html标记

是否有方法在字符串中搜索base64编码的数据,从字符串中检索数据,将其转换为图像,并将原始base64数据替换为实际图像并通过emal发送

我试图执行此任务,但图像未显示在电子邮件正文中。我正在使用laravel通知


你真正想问的是两个独立的问题

  • 如何从TinyMCE获取Base64二进制图像并以适当的格式存储它们
  • 在HTML电子邮件中包含图像的最佳方式是什么
  • 如何从TinyMCE获取Base64二进制图像并以适当的格式存储它们

    TinyMCE有一个内置机制,可通过其
    图像\u上传\u url
    配置选项解决此问题。TinyMCE文档中有一整页介绍了这一工作原理:

    其目的是让TinyMCE将图像文件发送到您选择的端点,然后将其转换为您需要的任何格式。您不需要将其保留为Base64二进制文件,而且很少需要将Base64二进制文件作为永久格式

    至于另一个问题

    在HTML电子邮件中包含图像的最佳方式是什么?

    这本身就是一个非常广泛的话题,有很多关于如何包含图像的博客文章

    这是SendGrid就此主题撰写的一篇文章:


    正如你所看到的,有多种选择,每种都有优点和缺点。我不能告诉你哪一个适合你的用例。我的建议是研究备选方案,选择最适合您的应用程序和您希望支持的电子邮件客户端的方案。

    我犯的主要错误是使用Laravel的通知发送信息。相反,我不得不用它来解决问题。它自动处理Tinymce的图像输出