获取gmail新邮件---ruby版


#! /usr/bin/ruby
#author newdongyuwei@gmail.com

require 'uri'
require 'net/http'
require 'net/https'
require 'rexml/document'

#https://user:password@mail.google.com/mail/feed/atom
gmail_feed_url = "https://mail.google.com/mail/feed/atom"
user="newdongyuwei"
password = "xxxxx"

url = URI.parse(gmail_feed_url)
http = Net::HTTP.new(url.host, url.port)#port is 443
http.verify_mode = OpenSSL::SSL::VERIFY_NONE # turn off SSL warning
http.use_ssl = true
http.start do |http|
request = Net::HTTP::Get.new(url.path)
request.basic_auth(user, password)
response = http.request(request)
puts response.code
puts response.body

doc = REXML::Document.new(response.body)
feed_list = []
doc.root.elements.to_a("//entry").each do|entry|
feed_list.push([entry.elements["title"].text.strip(),entry.elements["summary"].text.strip(),
entry.elements["author"].elements["name"].text.strip()].join("-"))
end
puts feed_list #title-summary-name
end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为AI语言模型,我无法直接获取邮件。但我可以提供一些Python库和代码示例,让你可以通过Python获取新邮件。 Python库: 1. imaplib:Python标准库之一,用于连接和操作IMAP服务器,可以用于获取邮件。 2. poplib:Python标准库之一,用于连接和操作POP3服务器,可以用于获取邮件。 3. pyzmail:第三方库,可以解析邮件内容,提取附件和内容。 代码示例: 使用imaplib获取邮件示例: ``` import imaplib mail = imaplib.IMAP4_SSL('imap.gmail.com') #连接Gmail的IMAP服务器 mail.login('your_email@gmail.com', 'your_password') #登录邮箱 mail.select('inbox') #选择收件箱 #搜索未读邮件 status, messages = mail.search(None, 'UNSEEN') #遍历未读邮件 for num in messages[0].split(): typ, data = mail.fetch(num, '(RFC822)') print('Message %s\n%s\n' % (num, data[0][1])) mail.close() #关闭邮箱连接 mail.logout() #退出登录 ``` 使用poplib获取邮件示例: ``` import poplib import email mail = poplib.POP3_SSL('pop.gmail.com') #连接Gmail的POP3服务器 mail.user('your_email@gmail.com') #输入邮箱账号 mail.pass_('your_password') #输入邮箱密码 #获取未读邮件数量和大小 mail_stat = mail.stat() print("Number of new emails: %s (%s bytes)" % mail_stat) #遍历未读邮件 for i in range(mail_stat[0]): #获取邮件 resp, mail_data, octets = mail.retr(i + 1) #将邮件转换为email.message对象 msg = email.message_from_bytes(b'\n'.join(mail_data)) #打印邮件主题和发件人 print("Subject:", msg['subject']) print("From:", msg['from']) mail.quit() #关闭邮箱连接 ``` 使用pyzmail获取邮件示例: ``` import imaplib import pyzmail mail = imaplib.IMAP4_SSL('imap.gmail.com') #连接Gmail的IMAP服务器 mail.login('your_email@gmail.com', 'your_password') #登录邮箱 mail.select('inbox') #选择收件箱 #搜索未读邮件 status, messages = mail.search(None, 'UNSEEN') #遍历未读邮件 for num in messages[0].split(): typ, data = mail.fetch(num, '(RFC822)') msg = pyzmail.PyzMessage.factory(data[0][1]) #将邮件转换为PyzMessage对象 #打印邮件主题、发件人和正文 print("Subject:", msg.get_subject()) print("From:", msg.get_addresses('from')) print("Body:", msg.text_part.get_payload().decode(msg.text_part.charset)) mail.close() #关闭邮箱连接 mail.logout() #退出登录 ``` 以上是Python获取新邮件的一些示例,具体使用需要根据自己的邮箱类型和需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值