как обрабатывать входящие письма и обновлять их в таблице базы данных в ruby ​​on rails 3 - PullRequest
0 голосов
/ 26 января 2012

Я пытаюсь настроить приложение 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 в мое приложение. Пожалуйста, помогите мне.

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")

и я установил from как значение по умолчанию, и это выглядит так:

default from: "abc@xyz.com"

Это адрес электронной почты администратора. Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 27 января 2012

Вы можете использовать почтальон .

В руководстве пользователя есть пример, который выполняет именно то, что вы просите.

...