当前位置: 技术文章>> 一篇文章详细介绍如何在 Magento 2 中设置电子邮件模板?

文章标题:一篇文章详细介绍如何在 Magento 2 中设置电子邮件模板?
  • 文章分类: 后端
  • 5936 阅读
系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》

本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。


在Magento 2中设置电子邮件模板是一个涉及多个步骤的过程,主要用于自定义和发送各类电子邮件,如订单确认、账户注册确认等。以下将详细介绍如何在Magento 2中设置电子邮件模板。

一、了解电子邮件模板位置

在Magento 2中,电子邮件模板存储在各自模块的 /view/frontend/email/ 目录下。例如,销售模块的新订单交易电子邮件模板位于 /view/frontend/email/order_new.html。请注意,直接修改这些默认文件不是一个好的做法,因为这可能会在未来的更新中被覆盖。相反,您应该创建自定义模板。

二、创建自定义电子邮件模板

有两种主要方法可以创建自定义电子邮件模板:

  1. 使用主题自定义模板

    • 在您的自定义主题中,根据以下路径创建模板文件:<theme_dir>/<ModuleVendorName>_<ModuleName>/email/。例如,要覆盖新订单电子邮件模板,在 <theme_dir>/Magento_Sales/email/ 目录中创建一个名为 order_new.html 的模板。
    • 模板后备支持允许在当前主题的父主题中搜索模板。
  2. 使用Magento管理界面创建模板

    • 在Magento Admin中,导航到 MARKETING > Communications > Email Templates
    • 点击 Add New Template
    • 如果想基于默认模板创建,可以选择并加载一个默认模板。
    • Template Name 中输入模板名称,以便在Admin中识别。
    • Template Subject 中添加电子邮件的主题。
    • 自定义模板内容,并可以选择添加CSS样式。
    • 点击 Save Template 保存。

三、配置电子邮件模板

创建模板后,需要将其配置为用于发送电子邮件。

  1. 在Magento Admin中配置
    • 导航到 STORES > Settings > Configuration > SALES > Sales Emails
    • 找到需要配置电子邮件的部分,例如 New Order Confirmation Email
    • New Order Confirmation Template 中选择您刚刚创建的模板。
    • 类似地,还可以配置其他类型的电子邮件模板,如 Guest New Order Confirmation Template
    • 点击 Save Config 保存更改。

四、使用系统变量和指令

在电子邮件模板中,您可以使用系统变量和指令来动态插入内容。

  • 系统变量:如 {{var store_hours}},这些变量在发送电子邮件时会被实际值替换。您可以在 STORES > Settings > Configuration > GENERAL > General > Store Information 中设置这些变量的值。
  • 指令:如 {{template config_path="design/email/header_template"}},用于包含页眉或页脚模板。{{inlinecss file="css/email-inline.css"}} 指令则用于将CSS样式作为内联样式添加到电子邮件中。

五、测试电子邮件模板

在配置完成后,确保测试电子邮件模板以验证其是否按预期工作。可以通过下订单或触发其他相关事件来测试电子邮件的发送。

六、考虑兼容性

由于不同的电子邮件客户端对HTML和CSS的支持程度不同,因此在设计电子邮件模板时,应确保其对大多数客户端都兼容。以下是一些建议:

  • 使用表格布局。
  • 内联编写所有CSS样式。
  • 使用小写的十六进制颜色代码。
  • 使用Web安全字体。
  • 在模板中添加图片时,指定图像大小和显示属性。

通过遵循上述步骤,您可以在Magento 2中成功设置和自定义电子邮件模板,以满足您的业务需求并提升客户体验。

推荐文章