我嘗試創建以下功能:您註冊並收到一封電子郵件,如[email protected],並且當您向此電子郵件發送某些內容時,它會自動顯示在您的牆上。 ..所以我的問題是如何實現電子郵件的創建和郵件本身的接收。 任何想法?在Rails中玩弄郵件
回答
Ruby提供可用於登錄到您的電子郵件帳戶的Net/IMAP和Net/POP3。 Here's a small tutorial。
POP3
pop = Net::POP3.new("pop.gmail.com", port)
pop.enable_ssl
pop.start('YourAccount', 'YourPassword')
if pop.mails.empty?
puts 'No mail.'
else
i = 0
pop.each_mail do |m|
File.open("inbox/#{i}", 'w') do |f|
f.write m.pop
end
m.delete
i += 1
end
puts "#{pop.mails.size} mails popped."
end
pop.finish
IMAP
imap = Net::IMAP.new('imap.gmail.com')
imap.authenticate('LOGIN', 'username', 'password')
imap.select('INBOX')
imap.search(['ALL']).each do |message_id|
msg = imap.fetch(message_id,'RFC822')[0].attr['RFC822']
MailReader.receive(msg)
imap.store(message_id, "+FLAGS", [:Deleted])
end
imap.expunge()
發送電子郵件很簡單。只需看看ActionMailer Basics。如果您還想接收電子郵件,則應該編寫一個守護程序,該守護程序在背景中連續從郵件服務器獲取郵件。
這裏說通過POP郵件獲取一個片段:
require 'net/pop'
config = {
:host => "mail.example.com",
:user => "[email protected]",
:password => "…",
:port => 110,
:timeout => 10
}
pop = Net::POP3.new(config[:host])
pop.start(config[:user], config[:password])
if pop.mails.empty?
puts "No mails…"
else
pop.mails.each do |mail|
# do stuff with mail
end
end
這是純Ruby碼,不需要對這個片段的Rails。
可能有其他的選擇,但是這就是我們如何做到這一點:
- 後綴
- Rails的計劃作業
後綴允許你指定一個MySQL表/視圖,以檢查是否電子郵件地址是否存在。您也可以定義郵件轉發。
- 創建一個數據庫視圖來匹配後綴
- 要求此視圖應該包含所有的電子郵件地址,並將其轉發到不同的郵件帳戶,比如
mailparser
。現在
- 要求此視圖應該包含所有的電子郵件地址,並將其轉發到不同的郵件帳戶,比如
- 你的Rails可以
- 使用POP3/IMAP前端的郵件服務器(你應該安裝了Dovecot或快遞即可),以獲取郵件和處理這些
- 還是去地方上所有郵件所在的磁盤(檢查Postfix配置)並將文件解析爲TMail對象並處理它們。
不同的選項是讓Postfix的通話script/runner
與郵件數據,但軌道開機時可以採取長期和大量的內存,所以我更喜歡有一個cronjob/Backgroundjob /工作者要做到這一點。
P.S.電子郵件的創建將通過爲您的Rails應用程序創建一個Model來完成,View將使用該模型作爲基礎。
例如,我擁有域app.com,並且我有一個standart託管與rails等我的託管提供給我的郵件服務器。我只是接收電子郵件的東西像通配符...我應該在這種情況下安裝postfix和其他?我希望你能理解我! – 2009-12-17 10:00:25
我只想接收電子郵件和創建郵件賬戶,如[email protected]不發送電子郵件... – 2009-12-17 10:03:30
我的問題是創建這些郵件賬戶... – 2009-12-17 10:08:39
- 1. 玩笑,戲弄不工作
- 2. 玩弄內置函數
- 3. 檢索調用統計與玩弄
- 4. 玩弄jQuery對象和變量
- 5. 讓Rails玩Hpricot
- 6. 渲染組件開玩笑測試用嘲弄
- 7. 直接編輯.class文件,玩弄操作碼
- 8. 玩! 2.0.2和郵件程序模塊
- 9. 玩框架2.4發送電子郵件
- 10. 安裝郵件中的Rails
- 11. Rails:郵件中的attachments.inline []
- 12. 在rails中垃圾郵件檢查
- 13. Flash郵件如何在Rails中工作?
- 14. 在Rails閃存郵件中使用HTML
- 15. 無法在rails中發送郵件?
- 16. Rails。羣發郵件
- 17. Rails設計郵件
- 18. Ruby on Rails 3:玩意
- 19. Rails 3:郵件::郵件不能在序列化後傳遞
- 20. 團隊成員玩弄不同角色時使用SCRUM嗎?
- 21. Scala玩弄新的項目依賴關係?
- 22. 幫我弄兩個同名的分支第三方dll好玩
- 23. angularjs - 玩弄angular-bootstrap-lightbox和它給我一個類型錯誤
- 24. 我喜歡這個模板的設計理念,我玩弄
- 25. 的Rails 4.2.6在電子郵件
- 26. Rails:在特定時間發送郵件
- 27. 的ActionMailer Rails中未發送郵件3.1.1
- 28. 無法弄清楚如何在netbeans中使用db:seed for rails
- 29. Rails 3郵件列表
- 30. rails動作郵件問題
我的大問題是創造這些郵件帳戶...或者以某種方式使用某種通配符執行此操作 – 2009-12-17 10:09:24