我尝试创建以下功能:您注册并收到一封电子邮件,如[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. 玩弄C#加密
- 3. 玩弄内置函数
- 4. 玩笑,戏弄不工作
- 5. 与JBoss 6.1.0玩弄随着版本
- 6. 玩弄jQuery对象和变量
- 7. 用动态编程玩弄棋盘格
- 8. 如何嘲弄与开玩笑
- 9. 检索调用统计与玩弄
- 10. 让Rails玩Hpricot
- 11. 渲染组件开玩笑测试用嘲弄
- 12. 直接编辑.class文件,玩弄操作码
- 13. Rails:邮件中的attachments.inline []
- 14. 安装邮件中的Rails
- 15. 玩! 2.0.2和邮件程序模块
- 16. 玩框架2.4发送电子邮件
- 17. 在Rails闪存邮件中使用HTML
- 18. 在Rails 4.1中发送邮件
- 19. 在rails中垃圾邮件检查
- 20. 无法在rails中发送邮件?
- 21. 在rails中定制devise_invitable电子邮件
- 22. Flash邮件如何在Rails中工作?
- 23. 在rails中设计邮件确认
- 24. Rails设计邮件
- 25. Rails。群发邮件
- 26. rails邮件通知 - 邮件程序
- 27. markItUp!和Rails 3.1不好玩
- 28. Ruby on Rails 3:玩意
- 29. 在Android中嘲弄
- 30. Rails:电子邮件确认邮件程序中的RESTful(PUT)URL
我的大问题是创造这些邮件帐户...或者以某种方式使用某种通配符执行此操作 – 2009-12-17 10:09:24