ruby-on-rails - 使用 Rails 在唯一用户电子邮件(带转发)下以电子邮件形式发送表单
问题描述
作为用户,我想提交一个表单,该表单将发送一封电子邮件,其中包含表单中提交的信息。
例子:
用户提交
{
user_id: "25"
user_name: "johnsmith"
info: "hello world"
to: "email@domain.com"
}
目标是发送以下格式的电子邮件:
from johnsmith <johnsmith@appdomain.com>
to: email@domain.com
content: "hello world"
如果回复生成的电子邮件 aka johnsmith@appdomain.com,应用程序应该能够将电子邮件转发到用户特定的电子邮件示例 johnsmith@gmail.com
任何帮助是极大的赞赏。
解决方案
保存用户后,您需要调用将通过邮件发送数据的 UserMailer
UserMailer.send_data(user.id).deliver
user_mailer.rb
class UserMailer < ApplicationMailer
def send_data(user_data)
@user = User.find_by(id: user_data)
@user_name = @user.user_name
@content = @user.content
mail(:to => @user.email, :subject => "Successful Signup")
end
end
请注意在对应的当前环境中设置邮件配置(例如:development.rb)
http://guides.rubyonrails.org/action_mailer_basics.html
上面定义的实例变量(@user_name,@content)将在 html 中用于发送相应的数据。
推荐阅读
- prolog - Prolog 无法对 forall 谓词的结果求和
- windows - 在 Windows 10 上安装 PostgreSql 12 时出现数据库集群错误
- php - 如何将数据从 PHP 文件 1 发送到包含 JSON 代码的 PHP 文件 2?
- python - 了解 Scipy 相干函数的结果
- c# - 如何从 UWP 读取系统中的制造商信息(详细序列号)
- swiftui - 我想使用索引来显示视图
- csv - 将 xml 转换为 csv 并且列需要以行的形式(枢轴)
- typescript - 在订阅回调中更新系列时,Highcharts 不会重绘
- javascript - Reactjs:在嵌套数组上遇到 map() 挑战
- pandas - seaborn 和 pandas 中带有色调的堆叠条