热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用RubyMailGem阅读电子邮件主题-UsingRubyMailGemtoreadEmailsubjects

Imattemptingtoextracttheattachmentsofemailssentfromoneofourserviceprovidersandsave

I'm attempting to extract the attachments of emails sent from one of our service providers and save them to a networked drive in order to display the information of a Smashing Dashboard.

我正在尝试提取从我们的某个服务提供商发送的电子邮件附件,并将其保存到网络驱动器,以显示Smashing Dashboard的信息。

I am attempting to use the Mail Gem to do this : https://github.com/mikel/mail http://www.rubydoc.info/github/mikel/mail/Mail

我正在尝试使用Mail Gem来执行此操作:https://github.com/mikel/mail http://www.rubydoc.info/github/mikel/mail/Mail

However I'm woefully inexperienced with ruby and especially this specific gem so I'm running into to errors deciphering the emails.

然而,我对ruby特别缺乏经验,特别是这个特定的宝石,所以我遇到了解密电子邮件的错误。

###########################################################################
######################## Connect to the POP Server ########################
###########################################################################
require 'mail'
Mail.defaults do
  retriever_method :pop3, :address    => "pop.gmail.com",
                          :port       => 995,
                          :user_name  => '----',
                          :password   => '----',
                          :enable_ssl => true
end

###################################################################
######################## Retrieve the Mail ########################
###################################################################

email = Mail.first    #=> Returns the first unread 

puts email  

if  (email.length > 0)
        puts "New Mail Found"
else
        puts "No New Mail"
end

When I run this when there are no new emails everything runs fine, however when there is a new email I get the following error.

当我在没有新电子邮件的情况下运行时,一切运行正常,但是当有新电子邮件时,我收到以下错误。

/var/lib/gems/2.3.0/gems/mail-2.6.6/lib/mail/message.rb:1379:in

method_missing: undefined method length for

method_missing:未定义的方法长度

# (NoMethodError) from Pop.rb:35:in main

来自Pop.rb的#(NoMethodError):35:在main中

This line corrosponds to the if statement. However the github examples very clearly use mail.length to check the number of emails returned and I just have no idea how to go about fixing this.

这一行与if语句相矛盾。然而,github示例非常清楚地使用mail.length来检查返回的电子邮件的数量,我只是不知道如何解决这个问题。

I'd be grateful of additional eyes checking this for anything obviously wrong, or even some tips to debug it.

我会感激额外的眼睛检查这个显然是错误的,甚至一些调试它的技巧。

1 个解决方案

#1


0  

Eventually found the answer with the aid of this table : https://i.stack.imgur.com/qbe46.png

最终借助此表找到了答案:https://i.stack.imgur.com/qbe46.png

Changing the if statement to if !(email == []) did the trick

将if语句更改为if!(email == [])就可以了

Thanks, everyone for helping me think it through.

谢谢,每个人都帮助我思考它。


推荐阅读
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • pc电脑如何投屏到电视?DLNA主要步骤通过DLNA连接,使用WindowsMediaPlayer的流媒体播放举例:电脑和电视机都是连接的 ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Firefox火狐浏览器关闭到http://detectportal.firefox.com的流量问题解决办法
    本文介绍了使用Firefox火狐浏览器时出现关闭到http://detectportal.firefox.com的流量问题,并提供了解决办法。问题的本质是因为火狐默认开启了Captive portal技术,当连接需要认证的WiFi时,火狐会跳出认证界面。通过修改about:config中的network.captive-portal-service.en的值为false,可以解决该问题。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • 用户视图(查看运行状态或其他参数)系统视图(配置设备的系统参数)system-viewEntersystemview,returnuservi ... [详细]
author-avatar
许晓慧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有