1

如何使用角材料组件创建html 电子邮件正文

由于组件标签未呈现。例如简单的角材料卡如下。有什么办法吗?

在此处输入图像描述

<mat-card>
  <mat-card-header>
        ...
  </mat-card-header>
  <mat-card-content>
        ...
  </mat-card-content>     
</mat-card>
4

4 回答 4

6

我猜您正在使用 JavaMail 之类的东西发送模板,并期望它在 Gmail 等邮箱或 Outlook 等邮件客户端中呈现。

如果是这样,这将不起作用。Angular Material 应该仅在邮箱和客户端呈现原生 HTML 元素时与 Angular 一起使用,因此不知道这<mat-card>意味着什么,因为它是自定义元素而不是原生元素(如<div>.

您可以使用其他基于 Material Design 的 CSS 库生成模板,例如Material Design Lite,它使用普通的 CSS 类来实现类似的 UI 并将其作为 HTML 电子邮件发送。然后它将在所有客户端和邮箱中正确呈现。

于 2018-08-24T11:08:09.600 回答
2

Angular是一种伪语言。这意味着Angular使用其他语言(javascript)。它可以被认为是一种基于javascript.

Angularcomponents-tags 是Angular由该组件的 HTML 模板替换的伪 HTML 标记,由该组件的 javascript 代码修改。

如果您询问 Angular 组件是否可以在电子邮件 HTML 正文中呈现,那么您首先需要询问是否javascript可以在电子邮件中呈现。这个这个答案更多地解释了为什么电子邮件程序不呈现javascript。

Angular似乎使 Web 应用程序更容易编写和维护。对于Web 应用程序和高响应网站来说,这是正确的。但是使用其他技术(如 .NET MVC、PHP...)创建一个 5 页的小型网站会更快。你不会用锤子

使用重复的 HTML 代码创建电子邮件的一种快速方法是在 .NET MVC 中。这个问题是关于将视图呈现为 HTML 字符串(可用作电子邮件正文)。

于 2018-08-28T12:53:58.153 回答
2

对于电子邮件模板,您不能使用任何角度材质组件,因为当您尝试渲染它们时,它们都将不为人所知。

如果您想创建一个电子邮件模板,您需要纯粹使用 HTML、内联 CSS 和表格元素(如 tr、td)来完成。

于 2018-08-25T07:18:35.683 回答
1

我刚刚写了一些文章(文章 1文章 2)来讨论如何使用 Angular 开发电子邮件模板。

添加了命令行实用程序angular-universalize-email,它可以通过npm install angular-universalize-email --save-dev.

可以在此处找到演示页面。

该模块是全新的,我很确定有很多问题。但我喜欢听到你和世界的回音。

于 2019-01-08T03:11:53.837 回答