Я пытаюсь настроить приложение RoR 3 для получения электронной почты, а затем обрабатывать эти письма и обновлять их в таблице базы данных, называемой product_comments.как обрабатывать входящие письма и обновлять их в таблице базы данных в ruby on rails 3
В моем приложении у меня есть product_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 в мое приложение. Пожалуйста, помогите мне.
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
Мой вопрос, как я буду получать идентификатор комментария? При отправке электронной почты я хочу указать идентификатор комментария или нет? если хотите указать этот идентификатор, где я хочу указать. Я создал одну учетную запись в Cloudmailin, это достаточно для обработки входящей почты или мне нужно выполнить любые другие шаги для получения почты в моем приложении? то есть любая настройка сервера должна быть выполнена или что. Я получаю что-нибудь. Пожалуйста помоги.
Теперь я отправка по электронной почте, как:
mail(:to => @user.email, :subject => "Edit Your Product")
и я поставил от по умолчанию, и это выглядит следующим образом:
default from: "[email protected]"
Это админ адрес электронной почты. Пожалуйста, помогите мне.
Итак, если этот адрес электронной почты получает электронное письмо, на адрес http://myapp.com/incoming должен быть отправлен запрос POST. В чем проблема? –
Можете ли вы использовать одноразовую функцию CloudMailin? таким образом вы можете передать [email protected] в качестве входящего адреса электронной почты? Тогда идентификатор комментария может поступать из параметров [: одноразовый]. Итак, [email protected] приведет к обнаружению комментария id 123? –