【问题标题】:send a form as an email under a unique user email (w/forwarding) using rails使用 rails 在唯一的用户电子邮件(带转发)下将表单作为电子邮件发送
【发布时间】:2018-11-09 23:28:45
【问题描述】:

作为用户,我想提交一个表单,该表单将发送一封电子邮件,其中包含表单中提交的信息。

示例:

用户提交

{ 
  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"

如果对生成的电子邮件(又名 johnsmith@appdomain.com)进行回复,该应用应该能够将电子邮件转发到特定于用户的电子邮件示例 johnsmith@gmail.com

非常感谢任何帮助。

【问题讨论】:

  • 问题是什么?
  • 您可以使用 sendgrid 实现此目的

标签: ruby-on-rails ruby ruby-on-rails-4 namespaces sendgrid


【解决方案1】:

保存用户后,您需要调用 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中用于发送相应的数据。

【讨论】:

    猜你喜欢
    • 2012-07-02
    • 2021-05-18
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多