我正在尝试设置我的RoR3应用程序以接收电子邮件,然后处理这些电子邮件并将其更新到名为product_comments的数据库表中。
在我的应用程序中,我有products_controller。管理员可以批准或不批准产品。当管理员不批准该产品时,管理员会添加一条评论,该评论将被邮寄给艺术家,如果艺术家回复了该邮件,那么productcomments表应该更新以存储回复的评论和回复日期。
以下是我的产品控制器中的(部分):
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"
这是管理员的电子邮件地址。请帮帮我。
您可以使用mailman。
用户指南中有一个示例,可以满足您的要求。