-1

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

現在、次のようなメールを送信しています。

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

そして私はデフォルトとしてfromを設定しました。それは次のようになります:

default from: "abc@xyz.com"

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

4

1 に答える 1

1

メールマンを使用できます。

ユーザーガイドには、まさにあなたが求めていることを行う例があります.

于 2012-01-27T08:38:26.087 に答える