【发布时间】:2016-06-08 07:28:56
【问题描述】:
这是我第一次在 Rails 项目中设置邮件。 有人告诉我使用 SparkPost 并为不同的语言创建模板以执行多项操作。
为简单起见,我们假设一个 user_signed_up(user) 邮件。
目前我有这个设置工作:
Gem 已安装:'sparkpost'
mail.rb
ActionMailer::Base.smtp_settings = {
address: "smtp.sparkpostmail.com",
port: 587,
enable_starttls_auto: true,
user_name: "SMTP_Injection",
password: SPARKPOST_API_KEY,
domain: 'foo-bar.com'
}
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.default charset: "utf-8"
application_mailer.rb
require 'sparkpost'
class ApplicationMailer < ActionMailer::Base
default from: "Seal Notification <noreply@foobar.com>"
layout 'mailer'
end
signup_mailer.rb
class SignupMailer < ApplicationMailer
def user_signed_up(user)
receiver = user.email
sender = 'myself@test.com'
title = 'Thanks for registering'
body = 'This is a test body'
sparky = SparkPost::Client.new(SPARKPOST_API_KEY)
sparky.transmission.send_message(receiver,sender,title,body)
end
end
而且我可以成功发送电子邮件。
虽然,由于多语言和正文不可样式化,这绝对不可扩展。
现在我需要设置模板以允许非技术人员调整电子邮件模板。
但这就是我卡住的地方,回答以下问题会对我有很大帮助:
1) 我如何发送特定的电子邮件模板?
2) 如何将变量传递给这些模板?
3) 如何处理多语言支持?
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby email actionmailer sparkpost