簡體   English   中英

使用設計跳過開發中的確認電子郵件

[英]skip confirmation e-mail in development with devise

我正在使用 devise,我希望能夠在處於開發模式時跳過確認電子郵件。 由於我的應用程序在本地計算機上運行時無法發送電子郵件,因此我只會收到警告消息,指出您需要在訪問應用程序之前進行確認。

Devise 還有一個方法skip_confirmation! 您可以在保存模型之前調用它以避免發送郵件。 它只是設置了confirmed_at屬性,從而跳過郵件發送。

試試 Ryan Bates 的 Letter Opener gem

https://github.com/ryanb/letter_opener

它將在瀏覽器中打開電子郵件而不發送。 如果您正在開發中,您不想跳過某些東西,因為某些東西會被錯過/遺忘。

就如此容易

user=User.new
user.email="you@email.id"
user.password="yourPassword"
user.skip_confirmation!
user.save

或者您可以在您的開發環境中嘗試MailCatcher

如果您想要一種非常輕量級的方式來執行此操作,請在注冊后查看您的終端 - rails 輸出顯示已發送的電子郵件,您可以復制粘貼確認鏈接,確認帳戶,然后繼續測試。

粗糙,但有效。

在 Rails 3 中,您可以使用“攔截器”來重新路由您的開發電子郵件,如Railscast 206 中所述

拿你的模型來設計。 通常是它的 user.rb。 並刪除或評論 config comfirmable 這將阻止確認過程

Devise 使用 ActionMailer 發送電子郵件。 在測試模式下,ActionMailer 實際上不應該發送任何電子郵件。

查看本教程以獲取有關 ActionMailer 和測試環境的說明。

因此,根據環境,您基本上可以關閉交付,而不會影響您的實際測試。 您只需要在environments/test.rb文件中指定該選項。

類似於letter_opener gem(由上面的John Beynon推薦),有一個名為mailcatcher的 gem,它可以在 SMTP 級別工作。

基本上,您在 Rails 應用程序上配置 SMTP 以指向在本地機器上運行 mailcatcher 的端口,並且您在其他端口上有 mailcatcher 瀏覽器來讀取電子郵件

更多信息https://github.com/sj26/mailcatcher

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM