0%

Ruby on Rails 網站開發 練習 - ActionMailer 寄發信件

ActionMailer 寄發信件

首先使用終端機輸入指令rails g mailer Vote,Rails會幫我們產生對應的mailer.rbview/vote_mailer

打開VSCode






接著我們就打開rails server 連到網頁測試看看,可以當我們點擊Vote後卻出現錯誤的畫面。

因為它還是依循著MVC的架構在運行,所以mailer是相當於controller的角色,那我們就必須幫它新增一個對應的view的角色。

重新整理,再試一次。看起來是有正常運作。
不過我們可以到Rails Guide搜尋


把剛剛找到的那段貼到development檔案中

但其實這樣做有風險,就是你自己的
e-mail會被別人看光光。
此時有一個收費的網站很方便 mailgun。註冊完後,進到Domains裡面找到SMTP伺服器


把上面這些對應的設定,複製貼上到VScode裡面的development.rb 檔案中。

設定好後,從新啟動rails server
這時候重新點選Vote 會發現網頁的標籤頁開始轉圈圈之後顯示Voted!!!,接著我們打開自己的信箱發現有一封標題是hi的郵件

確實有收到了!!!但同時也發現一件事情,就是當我們點擊 vote 之後頁面要轉圈圈快5秒才成功。
假如今天我們有人比較沒有耐心一直連點 vote,會發生什麼事呢?
沒錯!!!就是系統會一直寄信一直寄信。所以下面一堂課程,我們要來透過「背景工作」解決這個情況。

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)