ruby-on-rails - 如何仅从电子邮件内容中获取文本? Ruby on Rails - 用于 Ruby Gem 的 GMail

标签 ruby-on-rails ruby email

我正在开发一个 Ruby on Rails 网站,我需要从 GMail 中获取电子邮件。我正在使用 GMail for Ruby Gem .我可以获取主题、日期等,甚至是正文,但是,当我获取正文时,我得到了电子邮件的完整内容。我不确定是否有另一个字段只包含文本,但我已经尝试过 contenttextmail 但都没有正在工作。

这是 sample当我使用 body 时的内容。我正在使用 GIST,因为它很长。

有没有人可以帮助我解决这个问题?谢谢。

最佳答案

试试这段代码

Gmail.connect("username","password").inbox.emails.first.text_part.body.decoded

此外,如果您想删除“\n”,可以使用 gsub

Gmail.connect("username","password").inbox.emails.first.text_part.body.decoded.gsub("\n", ' ').squeeze(' ')

如果你想对所有的邮件都这样做,那么你可以这样做

arr = []
Gmail.connect("username","password").inbox.emails.each do |email|
   arr << email.text_part.body.decoded.gsub("\n", ' ').squeeze(' ')
end

关于ruby-on-rails - 如何仅从电子邮件内容中获取文本? Ruby on Rails - 用于 Ruby Gem 的 GMail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47667909/

相关文章:

ruby-on-rails - 我如何编写范围来获取所有没有任何用户通知的用户?

ruby-on-rails - git post-receive hook 没有运行 bundle install

ruby - 如何在 Rails 4 中使用表单对象之前的验证回调?

ruby - 如何将 YAML 解析为散列/对象?

python - 通过电子邮件发送大文本文件

c# - 发送包含存储在数据库中的多个附件的电子邮件 (ASP.NET C#)

ruby-on-rails - FactoryGirl 在开发环境中创建对象

ruby-on-rails - 如果重复超过2次,如何删除换行符?

ruby - =~ 和/\在 Ruby 中是什么意思?

mysql - 在 MySQL 中正确存储电子邮件(额外/非必要) header 作为 JSON