如何为Rails中的ActionMailer定制个性化电子邮件模板?

2026-04-11 15:081阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计412个文字,预计阅读时间需要2分钟。

如何为Rails中的ActionMailer定制个性化电子邮件模板?

我想允许rails app的用户通过表单创建自己的电子邮件模板,并将其用作网站标准电子邮件模板。哪些电子邮件将被发送,但我找不到任何教程,它还需要包含几个动态变量。这样做是否明确?

我想允许rails app的用户通过表单创建自己的电子邮件模板,并将其用作网站标准电子邮件模板表单,哪些邮件将被发送但我找不到任何教程,它还需要包含几个动态变量.

这样做是否有明确的方法?

(因此用户将以引用变量的形式输入电子邮件文本
在发送之前将被评估)

有很多方法可以实现它.这是一种方式.

首先,您需要将用户生成的电子邮件模板存储在数据库中.

CustomEmailTemplate.create(user_id: params[:user_id], template_body: params[:template_body])

什么时候发送模板的电子邮件,你会做类似的事情:

custom_values = { name: "Whatever", value: "nice" } template = CustomEmailTemplate.find(template_id) CustomerEmailer.send_email(template, custom_values).deliver

为了使它真正起作用,你需要在邮件中做这样的事情:

如何为Rails中的ActionMailer定制个性化电子邮件模板?

def send_email(template, custom_values) @template = template @custom_values = custom_values mail subject: "Your subject goes here.." end

在send_email.html.erb中,执行以下操作:

<%= @template.template_text.gsub(/@@name@@/, @custom_values[:name]).gsub(/@@value@@/, @custom_values[:value]) %>

您会看到模板包含“@@ name @@”和“@@ value @@”.这些是您可以使用自定义值替换的标记.

当然,您可以重构此代码以将替换逻辑放入模型等中,以使其成为“干净的代码”.

我希望这有帮助.

本文共计412个文字,预计阅读时间需要2分钟。

如何为Rails中的ActionMailer定制个性化电子邮件模板?

我想允许rails app的用户通过表单创建自己的电子邮件模板,并将其用作网站标准电子邮件模板。哪些电子邮件将被发送,但我找不到任何教程,它还需要包含几个动态变量。这样做是否明确?

我想允许rails app的用户通过表单创建自己的电子邮件模板,并将其用作网站标准电子邮件模板表单,哪些邮件将被发送但我找不到任何教程,它还需要包含几个动态变量.

这样做是否有明确的方法?

(因此用户将以引用变量的形式输入电子邮件文本
在发送之前将被评估)

有很多方法可以实现它.这是一种方式.

首先,您需要将用户生成的电子邮件模板存储在数据库中.

CustomEmailTemplate.create(user_id: params[:user_id], template_body: params[:template_body])

什么时候发送模板的电子邮件,你会做类似的事情:

custom_values = { name: "Whatever", value: "nice" } template = CustomEmailTemplate.find(template_id) CustomerEmailer.send_email(template, custom_values).deliver

为了使它真正起作用,你需要在邮件中做这样的事情:

如何为Rails中的ActionMailer定制个性化电子邮件模板?

def send_email(template, custom_values) @template = template @custom_values = custom_values mail subject: "Your subject goes here.." end

在send_email.html.erb中,执行以下操作:

<%= @template.template_text.gsub(/@@name@@/, @custom_values[:name]).gsub(/@@value@@/, @custom_values[:value]) %>

您会看到模板包含“@@ name @@”和“@@ value @@”.这些是您可以使用自定义值替换的标记.

当然,您可以重构此代码以将替换逻辑放入模型等中,以使其成为“干净的代码”.

我希望这有帮助.