加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 3.2,如何更改:从邮件中的值而不是默认

发布时间:2020-12-17 03:15:57 所属栏目:百科 来源:网络整理
导读:我已经建立了一个联系我们表格,我很好地收到了我的gApps收件箱中的电子邮件.但是,收到的电子邮件显示默认值:来自网站的值.我希望它们出现在电子邮件用户输入的电子邮件字段中.因此,当我点击“回复”时,它会将用户地址作为电子邮件必须发送的地址. 我试过这
我已经建立了一个联系我们表格,我很好地收到了我的gApps收件箱中的电子邮件.但是,收到的电子邮件显示默认值:来自网站的值.我希望它们出现在电子邮件用户输入的电子邮件字段中.因此,当我点击“回复”时,它会将用户地址作为电子邮件必须发送的地址.

我试过这个,但它不起作用.知道为什么吗?

notifications_mailer.rb

class NotificationsMailer < ActionMailer::Base
  default to: "info@hikultura.com"

  def new_contact(message)
      @message = message
      mail(:subject => "[hiKultura.com] #{message.subject}",:from => message.email)
  end
end

的ContactController

class ContactController < ApplicationController

  def new
    @message = Contactmessage.new
  end

  def create
    @message = Contactmessage.new(params[:contactmessage])

    if @message.valid?
      NotificationsMailer.new_contact(@message).deliver
      redirect_to(root_path,:notice => "Message was successfully sent.")
    else
      flash.now.alert = "Please fill all fields."
      render :new
    end
  end

end

UPDATE

我跟踪了我在SO中发现的类似案例:reply_to和GMail.但是,当我点击回复时,仍显示:到电子邮件地址.我错过了什么?

notifications_mailer.rb

class NotificationsMailer < ActionMailer::Base

   default :from => 'no-reply@mydomain.com'

  def new_contact(message)
      @message = message
      mail(:reply_to => "mierda@hotmail.com",:subject => "[mydomain.com] #{message.subject}",:to => "admin@mydomain.com"
      )
  end
end

解决方法

大多数SMTP提供商(Gmail等)不允许您从与您登录到SMTP服务器的帐户关联的地址以外的地址发送电子邮件,在您的情况下可能是配置地址的默认地址在你的应用程序中如果您考虑一下,这对安全/ SPAM保护很有意义.您是否希望任何人能够发送显示您的电子邮件地址作为发件人地址的电子邮件?我肯定不会.另一种方法是使用:reply_to.当你在电子邮件程序中点击回复时,它应该使用它,如果它存在.

mail(:subject => "[hiKultura.com] #{message.subject}",:reply_to => message.email)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读