你如何在线上分割电子邮件?

时间:2009-04-25 05:11:50

标签: ruby email

我正在使用Rails的Fetcher插件检索电子邮件。它做得很好。但是我试图在新行上分割电子邮件的正文,但看起来它只是一个非常长的行。

将电子邮件分成多行的最佳方式(在Ruby中)是什么?

1 个答案:

答案 0 :(得分:2)

听起来你需要一个自动换行算法。这是我在ruby-talk mailing list上找到的一种简短而巧妙的Ruby自动换行方式(链接是Google的缓存,因为该网站似乎已关闭):

puts $<.read.gsub(/\t/,"     ").gsub(/.{1,50}(?:\s|\Z)/){($& + 
5.chr).gsub(/\n\005/,"\n").gsub(/\005/,"\n")}

这是一个包含在方法中的稍微漂亮的版本:

def wordwrap(str, columns=80)
  str.gsub(/\t/, "     ").gsub(/.{1,#{ columns }}(?:\s|\Z)/) do
    ($& + 5.chr).gsub(/\n\005/, "\n").gsub(/\005/, "\n")
  end
end