我正在开发一个具有电子邮件function的应用程序,我想在本地发送电子邮件给自己(因为我可以完全断开我的开发机器与互联网的连接,并且仍然有这些testing电子邮件发送和接收,只是在我的电脑上) 。
我想象的Rails应用程序发送到Mac OS X的内置Linux CLI mail
程序,但我不知道如何设置。
我想这样做,所以我可以发送无限数量的testing电子邮件给自己,而不必担心自己不能从GMail帐户中locking,或者在Sendgrid等人身上烧毁免费的信用卡,或者等待邮件进行往返到某些服务器等
任何人都可以帮助我吗?
就是这个! MockSMTP (至少用于OS X)
更新:这可以说是更好: MailCatcher 。 由于它是Ruby / Web驱动的,它是平台无关的,不需要为桌面软件付费。 而且,如果您使用Google Chrome,则在收到新消息时使用WebSockets进行实时更新! 凉!
使用MailCatcher 。 这是在本地服务器(localhost:1080)上运行的gem,并在浏览器呈现的模拟电子邮件客户端中显示来自Rails应用程序的外发电子邮件。
$ gem install mailcatcher $ mailcatcher
虽然我自己不运行OS X,但是我使用OS XS和我们都在开发中使用sendmail
。 您只需要为您的开发环境进行配置即可。
在config/environments/development.rb
:
AppName::Application.configure do # … config.action_mailer.delivery_method = :sendmail config.action_mailer.sendmail_settings = { :location => '/usr/sbin/sendmail', :arguments => '-i -t' } end
然后,在邮件程序中,如果您担心无意中通过电子邮件发送用户/随机电子邮件地址,则可以添加私人方法以确定通过电子邮件发送给谁:
class UserMailer < ActionMailer default :from => 'from.email@example.com' def welcome(user) @user = user mail( :subject => "Hello World", :to => recipient(@user.email) ) end private def recipient(email_address) return 'developer.email@example.com' if Rails.env.development? email_address end end