Я хочу иметь возможность в своем приложении rails получать входящие письма и анализировать их определенным образом.Rails Email Parsing
incoming_controller.rb
class IncomingController < ApplicationController
skip_before_action :verify_authenticity_token, only: [:create]
skip_before_action :authenticate_user!, only: [:create]
def create
# Find the user
user = User.find_by(email: params[:sender])
# Find the topic
topic = Topic.find_by(title: params[:subject])
# Assign the url to a variable after retreiving it from
url = params["body-plain"]
# If the user is nil, create and save a new user
if user.nil?
user = User.new(email: params[:sender], password: "password")
user.save!
end
# If the topic is nil, create and save a new topic
if topic.nil?
topic = Topic.new(title: params[:subject], user: user)
topic.save!
end
bookmark = topic.bookmarks.build(user: user, url: url, description: "bookmark for #{url}")
bookmark.save!
# Assuming all went well.
head 200
end
end
С помощью этого контроллера можно извлечь только 3 значения = пользователь: отправитель, тема: тема и URL "тело-равнинных".
Как добавить 4-е значение в электронном письме для анализа a: description?
Как я могу установить текст в письме, чтобы он был признан в качестве описания? Например, я поставил тему письма равным теме. Что я могу задать из письма, чтобы оно соответствовало описанию? – davefogo
Это зависит от того, что вызывает ваш контроллер ... Я предполагаю, что у вас есть какая-то настройка приема электронной почты, которая анализирует электронные письма в хеш-файл и передает на ваш контроллер действие? Если вы можете это контролировать, вы можете добавить параметр в хэш. Если вы не можете этого сделать, вы можете добавить его в тело электронной почты, как я объяснил в своем отредактированном ответе. – rmhunter
Я пытаюсь использовать метод, который вы указали в ответе, но url и описание не получают из параметров. Он читает их как ноль. – davefogo