婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ruby實現郵件主動推送觸發程序

Ruby實現郵件主動推送觸發程序

熱門標簽:外呼線路從哪里出來的 中牟外呼系統違法嗎 征服者企業地圖標注 淮安自動外呼系統供應商 巫師3地圖標注魔力之所 柯城手機地圖如何做地圖標注 天津外呼系統怎么收費 AI電銷機器人 線路 漯河電銷

郵件服務器接收到郵件后,service push通知程序。有什么辦法實現嗎?

1、客戶端輪詢
2、服務器主動推送。

首先熟悉一下,收發郵件的協議:
Net::SMTP(發送郵件)
Net::POP3(接收郵件)
Net::IMAP(接收郵件)

網上很多用pop3收郵件的例子,但是用pop3收郵件只能獲取收件箱里面所有郵件,郵件是否已讀等標記無法獲取,使用imap協議則避免了這個尷尬,imap不僅能獲得一個郵件的詳細信息(比如是否已讀,是否回復),它還允許用戶更改郵件的標記,但是目前支持imap協議的郵件服務器并不多,我知道的只有21cn和gmail,下面的例子中使用了代理 、SSL認證多個內容,請大家參考。

imap郵件,都是按需索取,也就是說,當你得到一個Message的對象時,其實里面什么信息都沒有,當你在這個對象里用get方法取得信息時,比如getSubject,那么Message對象會重新訪問郵件服務器來得到這個消息的 ,所以在得到所有所需信息之前,不可以關閉目錄,更不可以斷開連接。
如果實在想在關閉目錄或者連接后操作Message對象的話,需要使用Folder對象的fetch方法得到所需信息。

一:客戶端輪詢

下邊用pop3和imap顯示一下輪詢訪問獲取郵件的例子:

POP3輪詢:

復制代碼 代碼如下:

loop do
require 'net/pop'
pop = Net::POP3.new('EMAILSERVICE')
pop.start('USENAME', 'PASSWORD')           
if pop.mails.empty?
  puts 'No mail.'
else
  pop.each_mail do |m|
    m.pop do |chunk|  
      p chunk
    end
  end
  puts "#{pop.mails.size} mails popped."
end
pop.finish
sleep(10)
end

imap輪詢:

復制代碼 代碼如下:

loop do
require 'net/imap'
imap = Net::IMAP.new('EMAILSERVICE')
imap.login "USERNAME", "PASSWORD"
imap.examine('INBOX')
imap.search(["BEFORE", "29-Oct-2014", "SINCE", "28-Oct-2014"]).each do |message_id|
   envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
   puts "#{envelope.from[0].name}: \t#{envelope.subject}"
end
sleep(10)
end

二:服務器主動推送

下邊實現一種服務器主動推送方式:(IMAP.IDLE)

這是一種介于pull和Persistent TCP/IP之間的技術:long polling(長輪詢)。原理是客戶端每次對服務的請求都被服務端hold住,等到有message返回或time out之后,會再次主動發起請求,等待message的到達。這種模式不需要保持心跳,也不需要持續TCP的占用,比較適合頁面端及時消息的推送。

復制代碼 代碼如下:

SERVER = 'EMAILSERVICE'
USERNAME = 'USERNAME'
PW = 'PASSWORD'
require 'net/imap'

# Extend support for idle command. See online.
# http://www.ruby-forum.com/topic/50828
# https://gist.github.com/jem/2783772
# but that was wrong. see /opt/ruby-1.9.1-p243/lib/net/imap.rb.
class Net::IMAP
  def idle
    cmd = "IDLE"
    synchronize do
      @idle_tag = generate_tag
      put_string(@idle_tag + " " + cmd)
      put_string(CRLF)
    end
  end

  def say_done
    cmd = "DONE"
    synchronize do
      put_string(cmd)
      put_string(CRLF)
    end
  end

  def await_done_confirmation
    synchronize do
      get_tagged_response(@idle_tag, nil)
      puts 'just got confirmation'
    end
  end
end

class Remailer
  attr_reader :imap

  public
  def initialize
    @imap = nil
    @mailer = nil
    start_imap
  end

  def tidy
    stop_imap
  end

  def print_pust
       envelope = @imap.fetch(-1, "ENVELOPE")[0].attr["ENVELOPE"]
       puts "From:#{envelope.from[0].name}\t Subject: #{envelope.subject}"
  end

  def bounce_idle
    # Bounces the idle command.
    @imap.say_done
    @imap.await_done_confirmation
    # Do a manual check, just in case things aren't working properly.
    @imap.idle
  end

  private
  def start_imap
    @imap = Net::IMAP.new('pop.i-click.com')
    @imap.login USERNAME, PW
    @imap.select 'INBOX'

    # Add handler.
    @imap.add_response_handler do |resp|
      if resp.kind_of?(Net::IMAP::UntaggedResponse) and resp.name == "EXISTS"
        @imap.say_done
        Thread.new do
          @imap.await_done_confirmation
          print_pust
          @imap.idle
        end
      end
    end
    @imap.idle
  end

  def stop_imap
    @imap.done
  end

end

begin
  Net::IMAP.debug = true
  r = Remailer.new
  loop do
    puts 'bouncing...'
    r.bounce_idle
    sleep 15*60
    #一般設置15分鐘無操作保持長鏈接
  end
ensure
  r.tidy
end

標簽:河池 南昌 甘孜 西雙版納 棗莊 內江 克拉瑪依 大慶

巨人網絡通訊聲明:本文標題《Ruby實現郵件主動推送觸發程序》,本文關鍵詞  Ruby,實現,郵件,主動,推送,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby實現郵件主動推送觸發程序》相關的同類信息!
  • 本頁收集關于Ruby實現郵件主動推送觸發程序的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人小视频在线| 亚洲精品一区在线观看| 久久蜜桃香蕉精品一区二区三区| aa级大片欧美| 日韩精品亚洲一区| 亚洲欧美日韩综合aⅴ视频| 亚洲国产精品成人综合色在线婷婷 | 国产成人综合视频| 国产盗摄女厕一区二区三区| 欧美三级乱人伦电影| 欧美精品aⅴ在线视频| 亚洲码国产岛国毛片在线| 欧美综合一区二区| 久久久久久久久久看片| 久久综合999| 久久机这里只有精品| 丝袜诱惑制服诱惑色一区在线观看| 欧美日韩成人综合在线一区二区| 欧美精品久久久久久久久老牛影院| 久久天天做天天爱综合色| 精品久久国产字幕高潮| 91浏览器在线视频| 色呦呦网站一区| 欧美猛男男办公室激情| 国产精品免费久久| 亚洲综合小说图片| 尤物视频一区二区| 一区二区三区**美女毛片| 视频一区视频二区中文字幕| 国产91富婆露脸刺激对白| 2023国产精品| 久久女同互慰一区二区三区| 日本一区二区三级电影在线观看| 激情综合网最新| 激情综合色播激情啊| 中文字幕佐山爱一区二区免费| 一区二区久久久久久| 亚洲午夜激情网页| 视频一区二区三区中文字幕| 在线观看亚洲专区| 久久精品国产一区二区| 成人免费小视频| 精品日产卡一卡二卡麻豆| 欧美猛男gaygay网站| 91精品国产综合久久香蕉的特点 | 欧美成人激情免费网| 视频在线观看一区二区三区| 看电视剧不卡顿的网站| 亚洲免费在线观看| 中文字幕电影一区| 欧美色中文字幕| 欧美日韩精品一区二区三区四区 | 欧美视频完全免费看| 在线播放欧美女士性生活| 国产精品国产精品国产专区不蜜| 午夜精品一区二区三区三上悠亚| 久久成人免费电影| 成人h动漫精品一区二区| 日韩色视频在线观看| 五月天亚洲婷婷| k8久久久一区二区三区| 亚洲国产精品国自产拍av| 国产成人夜色高潮福利影视| 95精品视频在线| 久久亚洲二区三区| 亚洲国产视频a| bt7086福利一区国产| 欧美四级电影网| 中文字幕免费在线观看视频一区| 日韩中文欧美在线| 美洲天堂一区二卡三卡四卡视频| 日韩欧美黄色影院| 丝袜美腿亚洲色图| 不卡视频一二三| 91精品国产综合久久国产大片| 欧美大片国产精品| 亚洲三级小视频| 亚洲电影你懂得| 蜜桃在线一区二区三区| 9i在线看片成人免费| 久久伊人中文字幕| 香蕉成人伊视频在线观看| 精品国产91洋老外米糕| voyeur盗摄精品| 亚洲国产裸拍裸体视频在线观看乱了 | 国产成人99久久亚洲综合精品| 麻豆91在线看| 国产精品久久久久久久久搜平片| 国产在线国偷精品免费看| 欧美人伦禁忌dvd放荡欲情| 色婷婷综合久色| 日产欧产美韩系列久久99| 色美美综合视频| 国产精品久久久久天堂| 精品在线一区二区三区| 一区二区在线看| 性欧美大战久久久久久久久| 国产精选一区二区三区| 丝袜美腿成人在线| 国产一区二区三区蝌蚪| 国产三级一区二区| 国产精品少妇自拍| 91免费观看在线| 国产三级一区二区| 成人动漫在线一区| 亚洲大尺度视频在线观看| 欧美日韩一区二区欧美激情| 欧美私人免费视频| 亚洲国产精品ⅴa在线观看| 男人的天堂久久精品| 久久久久久麻豆| 亚洲高清一区二区三区| 亚洲福利视频三区| 91浏览器打开| 中文字幕欧美激情一区| 亚洲女与黑人做爰| 欧美日韩国产乱码电影| 理论片日本一区| 一本色道a无线码一区v| 亚洲国产另类av| 99精品视频中文字幕| 国产精品电影一区二区三区| 在线不卡中文字幕| 亚洲一区二区欧美| 欧美中文字幕不卡| 色综合网色综合| 制服丝袜亚洲播放| 久久99精品久久只有精品| 欧美国产综合一区二区| 国产成人在线网站| 国产精品剧情在线亚洲| 免费观看在线色综合| 亚洲激情第一区| 日韩午夜激情视频| 午夜伦理一区二区| 蜜臀精品一区二区三区在线观看 | 99精品欧美一区| 精品国产91久久久久久久妲己| 日本免费在线视频不卡一不卡二| 国产欧美日韩综合| 91一区二区在线观看| 视频在线观看一区| 精品国产一区二区精华| 国产精品一区2区| 一区二区免费看| 精品国产自在久精品国产| 成人激情午夜影院| 午夜a成v人精品| 色婷婷激情久久| 日日摸夜夜添夜夜添国产精品| 欧美精品一区二区久久久| 欧美va亚洲va| 日韩一区二区在线观看视频播放| 亚洲国产成人av好男人在线观看| 欧美性做爰猛烈叫床潮| 天堂蜜桃91精品| 亚洲人成电影网站色mp4| 国产成a人亚洲| 久久精品国产久精国产| 蜜桃在线一区二区三区| 亚洲男同性视频| 国产精品一区二区三区乱码 | 大白屁股一区二区视频| 久久久蜜桃精品| 色噜噜狠狠色综合欧洲selulu| 国产精品久久久久久亚洲伦| 91精品一区二区三区在线观看| 亚洲男人天堂av| 久久人人爽人人爽| 狠狠色伊人亚洲综合成人| 日韩视频免费观看高清完整版| 一区二区三区不卡视频在线观看 | 日韩一级大片在线观看| 欧美精品 日韩| 欧美日韩一区三区四区| 99久久99久久综合| 色综合天天综合狠狠| 国产中文字幕一区| 欧美日韩中字一区| 欧美日韩国产免费| 国产精品久久久久久久久快鸭| 久久精品一区二区| 午夜不卡在线视频| 精品一区二区三区香蕉蜜桃| 久久伊人中文字幕| 国产精品久线在线观看| 粉嫩aⅴ一区二区三区四区| 国产盗摄视频一区二区三区| 一区二区三区在线不卡| 亚洲夂夂婷婷色拍ww47| 欧美日韩夫妻久久| 日韩欧美在线观看一区二区三区| 中文一区二区完整视频在线观看| 日韩精品一区二区三区三区免费 | 精品一区二区在线看| 国产白丝精品91爽爽久久| 国产·精品毛片| 一本高清dvd不卡在线观看| 91色在线porny| 欧美日本一区二区三区四区|