我正在尝试设置我的 RoR 3 应用程序以接收电子邮件,然后处理这些电子邮件并将它们更新到名为 product_comments 的数据库表中。
在我的应用程序中,我有 products_controller。管理员可以批准或不批准产品。当管理员不批准该产品时,管理员会添加评论并将该评论邮寄给艺术家,如果艺术家回复了该邮件,则应该更新 product_comments 表以存储回复的评论和回复日期。
这是我的产品控制器中的(部分)内容:
if @productcomment.save
ArtistProduct.where(:id=>params[:id]).update_all(:astatus=>'disapproved', :status=>'disapproved')
UserMailer.comment_email( @productcomment).deliver
end
当用户添加评论时,管理员会收到一封电子邮件。当管理员添加评论时,用户会收到一封电子邮件。(这已经在起作用了。)
我正在使用 Cloudmailin 来帮助我接收收到的邮件。我已将 Cloudmailin 地址设置为指向http://myapp.com/incoming。
我不知道如何将 Cloudmailin 集成到我的应用程序中。请帮我。
更新
我刚刚创建了传入控制器,我的传入控制器如下所示:
require 'mail'
def create
@comment = ProductComment.find_by_token(params[:to].split('@')[0])
ProductComment.update(:id=>@comment.id,{:reply => params[:plain], :rfrom=>params[:from], :replieddate=>params[:date]})
render :text => 'success', :status => 200
end
我的问题是我将如何获得评论 ID?在发送电子邮件时,我想指定评论 ID 与否?如果想在我想指定的地方指定那个 id。我在 Cloudmailin 中创建了一个帐户是否足以处理传入的邮件,或者我需要按照任何其他步骤将邮件接收到我的应用程序?那是应该做任何服务器设置或什么。我得到任何东西。请帮忙。
现在我发送一封电子邮件,例如:
mail(:to => @user.email, :subject => "Edit Your Product")
我已将 from 设置为默认值,它看起来像:
default from: "abc@xyz.com"
这是管理员电子邮件地址。请帮我。