2012-01-26 1 views
-1

RoR 3アプリケーションを設定して電子メールを受信し、その電子メールを処理してproduct_commentsというデータベーステーブルに更新しようとしています。受信メールを処理して、それらをルビーのデータベーステーブルに更新する方法3

私のアプリケーションでは、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を使用して受信メールを受信して​​います。私はhttp://myapp.com/incomingを指すようにCloudmailinアドレスを設定しました。

Cloudmailinを自分のアプリケーションに統合する方法がわかりません。私を助けてください。

UPDATE

私は、着信コントローラ作成していると、私の着信コントローラは次のようになります。

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で1つのアカウントを作成しましたが、それは受信メールを処理するのに十分なものですか、または私のアプリケーションにメールを受け取るための他の手順に従う必要がありますか?つまり、サーバーの設定を行うか、何を行うかです。私は何かを得ている。助けてください。

は、今のような電子メールを送信しています:

mail(:to => @user.email, :subject => "Edit Your Product") 

を、私はデフォルトとしてから設定していると同じように見えます:

default from: "[email protected]" 

これは、管理者のメールアドレスです。 私を助けてください。

+0

その電子メールアドレスが電子メールを受信すると、http://myapp.com/incomingへのPOST要求が行われます。何が問題なの? –

+0

CloudMailinの使い捨て機能を使用できませんか?あなたは受信メールアドレスとして[email protected]を渡すことができますか?コメントIDはparams [:disposable]から来ることができます。ですから、[email protected]はコメントID 123を見つけるでしょうか? –

答えて

1

mailmanを使用できます。

user guideには、あなたが求めているものだけの例があります。

+0

郵便配達員を使用する場合、電子メールの送信方法。コメントIDを設定する場所教えてください。 – user1074042