我正在尝试实现一个使用带有 mjml 的超棒字体的电子邮件模板,我不知道该怎么做。我尝试使用 cdn 如下:
<mj-head>
<mj-title>Thank you!</mj-title>
<mj-style>
<mj-include path="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"/>
</mj-style>
<mj-attributes>
...
</mj-attributes>
</mj-head>
...
<mj-text align="center">
<h3>
Share <i class="fab fa-facebook-f"></i>
</h3>
</mj-text>
...
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用。任何人都可以建议我如何最好地做到这一点?
美好的一天,我正在使用 MJML 框架来达到一个模板,比如上传的图片:
所有这些在 MJML 上都运行良好,当我将模板发送到我的电子邮件时,我对其进行了测试,但问题是,logo如果您发现徽标正在使用 css 脱离父框,所以我几乎尝试了一切例如我曾经transform and translate, negative margins, positions: absolute and relative把它开箱即用,但这些都不起作用,当我将模板发送到我的电子邮件地址时,我得到了这样的东西:
我也在谷歌上做了很多研究,几乎每个人都说不可能做出这样的事情,但我认为这是可能的。你们能告诉我我的 MJML 或编码有什么问题吗?
我是 MJML 新手,我想知道是否可以将 HTML 转换为 MJML?我曾尝试寻找答案,但结果却总是相反。
经过大量搜索后,我很难找到:
我期待的是:
import { mjml2html } from 'mjml';
const context = {
message: 'Hello World'
};
const view = mjml2html(template, context);
Run Code Online (Sandbox Code Playgroud)
<mjml>
<mj-body>
<mj-container>
<mj-section>
<mj-column>
<mj-text>{message}</mj-text>
</mj-column>
</mj-section>
</mj-container>
</mj-body>
</mjml>
Run Code Online (Sandbox Code Playgroud) mj-font 在 mjml 中不起作用。
这是我正在尝试做的事情index.mjml:
<mjml>
<mj-head>
<mj-font name="testFont" href="testFont.ttf"/>
</mj-head>
<mj-body>
<mj-section>
<mj-column>
<mj-text font-family="testFont" align="center" font-size="20px">
Just a text
</mj-text>
</mj-column>
</mj-section>
</mj-body>
</mjml>
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么以及如何使我的字体正常工作?
谢谢。
我是mjml的新手,我试图找出是否有一种方法可以使元素在不使用或内联 css 的<mj-text>情况下显示。inline-block <mj-style>
我有一个<mj-text>呈现动态生成的文本 - 所以我无法预见它的宽度。我希望此容器的背景结束于文本结束的位置,而不是填充整个页面的宽度(就像块元素那样)。
这是我尝试呈现的模板的示例:
<mjml>
<mj-body>
<mj-section>
<mj-column>
<mj-text align="left" container-background-color="#c3e16d" color="#60b7f1" font-size="14px">
<span>Dynamically Generated Text</span>
</mj-text>
</mj-column>
</mj-section>
</mj-body>
</mjml>
Run Code Online (Sandbox Code Playgroud)
经过一番搜索后,我确实设法使用块让它工作<mj-style>- 但我试图弄清楚是否有更合适的方法来使用mjmlapi 来完成它。
我有一个可编译为 HTML 的 MJML 模板,并且想要将变量从 JSON 文件加载到模板中。我对 HTML、JS 和 Handlebars 很陌生,所以这里可能真的偏离了轨道。
我的 MJML 模板test.mjml看起来像:
<mjml>
<mj-body>
<mj-raw><script type="text/javascript" src="handlebars-v4.7.3.js"></script></mj-raw>
<mj-raw><script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script></mj-raw>
<mj-section>
<mj-text><mj-raw>
<script id="test-template" type="text/x-handlebars-template">
<div>
<p>
Hello my name is {{name}}.
</p>
</div>
</script>
</mj-raw></mj-text>
</mj-column>
</mj-section>
Run Code Online (Sandbox Code Playgroud)
我有一个 JSON 文件data.json:
{
"name": "John",
"height": "175cm",
"occupation": "Teacher",
}
Run Code Online (Sandbox Code Playgroud)
还有一个 JS 文件test.js:
$(document).ready(function() {
var template = $('#test-template').html();
var compiledTemplate = Handlebars.compile(template);
$.getJSON('data.json', function (data) {
var context = data;
}
}); …Run Code Online (Sandbox Code Playgroud) I\xe2\x80\x99m 正在开发一个用 MJML 编写的 Mailjet 电子邮件模板,该模板使用通过提供的数组值Vars来生成发件人希望从邮件收件人接收的项目列表。数组中的所有值都是纯文本值。
传递给 API 请求的数据如下所示:
\n\n{\n "FromEmail":"sender@email.com",\n "FromName":"Chris Crumble",\n "Subject":"Data Request",\n "MJ-TemplateID":"200000",\n "MJ-TemplateLanguage":true,\n "Recipients":[\n {\n "Email":"recipient@email.com",\n "Name":"Hans Henson"\n }\n ],\n "Vars":{\n "mailTitle":"Data Request",\n "userName":"Chris Crumble",\n "imageUrl":"http://my.host.com/image.jpg",\n "userBirthDate":"1.3.1982",\n "recipientName":"Hans Henson",\n "uploadUrl":"https://my.upload.com/",\n "authVideoUrl":"https://my.authvideo.com",\n "records":["Document A","Document B"],\n "authPhone":"113777840097"\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n模板的使用方式var:records如下:
...\n </mj-text>\n <mj-raw> {% if var:records:false %} </mj-raw>\n <mj-text>\n <p>\n I, <strong>{{var:userName}}, born on {{var:userBirthDate}}</strong> am asking you to provide the following documents:\n </p>\n </mj-text>\n <mj-raw> {% for item in var:records …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一些文本和按钮与两列部分垂直对齐。为了澄清我的目标是让文本/按钮与图像右侧的垂直中间对齐。
我已尝试将vertical-align="middle"标签添加到mj-column但似乎没有任何效果。然而,与底部对齐确实有效。
下面是我的代码示例以及 mjml 编辑器的链接,其中包含演示该问题的示例。
<mjml>
<mj-body>
<mj-section>
<mj-divider border-color="#F45E43"></mj-divider>
<mj-column width="50%">
<mj-image src="http://www.online-image-editor.com//styles/2014/images/example_image.png" />
</mj-column>
<mj-column width="50%" vertical-align="middle">
<mj-text align="center">Want a kitten? Of course you do! Who doesn't want a fluffy little buddy to keep you company? Go on click the button, you know you want to.</mj-text>
<mj-button href="https://www.google.com">Get a Kitten</mj-button>
</mj-column>
<mj-divider border-color="#F45E43"></mj-divider>
</mj-section>
</mj-body>
</mjml>
Run Code Online (Sandbox Code Playgroud)
链接: https: //mjml.io/try-it-live/SkblMhXV8
编辑:非常感谢@curveball,应用的解决方案如下:
<mjml>
<mj-body>
<mj-section>
<mj-divider border-color="#F45E43"></mj-divider>
<mj-column width="50%" vertical-align="middle">
<mj-image src="http://www.online-image-editor.com//styles/2014/images/example_image.png" />
</mj-column>
<mj-column width="50%" …Run Code Online (Sandbox Code Playgroud) 我是 MJML 的新手,使用 css-styles 有点奇怪。对于样式 a,<mj-text css-class="classname"></mj-text>我们必须在 css-styles 中添加一个“div”关键字,例如:
<mj-style>
.classname div{
font-size: 15px;
}
</mj-style>
Run Code Online (Sandbox Code Playgroud)
对于 mjml-text,我们使用“div”和类名来设计样式,对于诸如<mj-image>或等之类的标签。<br>我不知道如何使用 css-classes。另外,为什么我们div在样式化时沿着类名添加它?。请帮忙...
mjml ×10
html ×5
css ×4
email ×3
javascript ×2
fonts ×1
html-email ×1
import ×1
json ×1
mailjet ×1
node.js ×1
path ×1
react-server ×1
reactjs ×1
templates ×1