0
Ruby on Rails를 사용하여 이메일 본문을 어떻게 파싱합니까? 아래는 내가 생각해내는 것입니다. 나는 몸으로 주제에 이르렀지만, 내가 원하는 것은 몸이다. TMail 또는 전자 메일 기반 라이브러리를 사용하지 않고이 구문을 분석하려고합니다.Ruby on Rails를 사용하여 이메일 본문을 파싱하십시오.
보여줄
<p>Body: <%= @text.parse_body %></p>
제어기
def show
@text = Text.find(params[:id])
end
모델
class Text < ActiveRecord::Base
attr_accessible :email
def text_input
@raw_email = email.to_s
end
def parse_body
@parse_email = @raw_email.match(/(\r\n\r\n[\W\w\S\s\D\d\b]*\r\n)/i)
@parse_body = @parse_email.to_s.gsub(/<[\W\w\S\s\D\d\b]*?>/, "")
end
결과는 @parse_body의
\r\n\r\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\r\n<HTML>\r\n<HEAD>\r\n<META
HTTP-EQUIV=3D\"Content-Type\" CONTENT=3D\"text/html; =\r\ncharset=3Diso-8859-1\">\r\n<META
NAME=3D\"Generator\" CONTENT=3D\"MS Exchange Server version
=\r\n6.5.7654.12\">\r\n<TITLE>Test for long subject</TITLE>\r\n</HEAD>\r\n<BODY>\r\n<!--
Converted from text/plain format -->\r\n\r\n<P><FONT
SIZE=3D2>Test<BR>\r\n<BR>\r\n</FONT>\r\n</P>\r\n\r\n</BODY>\r\n" 1:"\r\n\r\n<!DOCTYPE HTML
PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\r\n<HTML>\r\n<HEAD>\r\n<META HTTP-EQUIV=3D\"Content-
Type\" CONTENT=3D\"text/html; =\r\ncharset=3Diso-8859-1\">\r\n<META NAME=3D\"Generator\"
CONTENT=3D\"MS Exchange Server version =\r\n6.5.7654.12\">\r\n<TITLE>Test for long
subject</TITLE>\r\n</HEAD>\r\n<BODY>\r\n<!-- Converted from text/plain format --
>\r\n\r\n<P><FONT SIZE=3D2>Body<BR>\r\n<BR>\r\n</FONT>\r\n</P>\r\n\r\n</BODY>\r\n
결과 @parse_email
Body: Test for long subject Body
결과 나는 당신은 당신을 위해이 작업을 수행 보석을 사용한다
Body
'Mail.read'는 디렉토리 만 허용합니다. 원래 게시물에서와 같이 원시 문자열을주고 싶다면'Mail.new (@raw_email)'을 사용해야합니다. – Seanny123