php – Laravel – 透過 Gmail 發送 E-mail 信件

參考官方章節

.env 設定檔

關於使用 Gmail 的設定,可以注意這篇我提到的:在 PHP 中使用 Gmail SMTP 無法驗證的方法。透過這篇步驟,我們理當能取得下方 SMTP 的各個資訊包含密碼,我們填入吧!

要使用全域的 “from” (寄件者地址) 或 “reply_to” (回覆的地址),在 config/mail.php 中能發現是透過 .env 來寫入我們的 mail 設定檔,例如

 

Mailables

準備一個”能夠發送郵件” (Mailables) 的類別,例如產生 app\Mail\Warning.php

 

View

而信件內容模板的變數 $params 我們會由 Controller 傳入。我們建立 /views/emails/warning.blade.php

 

Router

routes/web.php

 

Controller 寄出郵件

這樣就能成功透過 Gmail 發送郵件囉!附帶要提的是,以上這種方法是 Laravel 比較後期的官方建議寫法,不然依照我們過去經驗例如使用過 PHPMailer ,我們可能會寫在一起,例如

雖然也可以送信,不過透過 “Mailable” 的方式,可以把整個網站的發送指派行為,全部集中在路徑app\Mail 底下;剩下在控制器中的行為也只有「用哪個 Mailable 寄給誰」。

好處就是方便維護。當我們的發送郵件行為一旦增量,例如有些要發送註冊通知信、修改密碼信、訂單成立、到貨通知、系統錯誤通知、等等非常多,要維護也只需要查看路徑 app\Mail 底下的 “Mailable” 就能很快知道有那些送件行為,省去到各個 Controller, Services, Libraries 查找的時間。

php – Joomla! 在 xml 中自訂欄位

參考來源

範例元件名稱 com_todolist

添加我們自訂的 xml

  • name=”clickme” 名稱是作為 tmpl 渲染使用,代表你的欄位叫什麼名字。
  • type=”mybutton” 會去尋找 models/fields/mybutton.php

 

自訂欄位的物件邏輯

我們要自訂一個類型叫做 mybutton 的 HTML <button> 元件。

  • JFormFieldMybutton 為 JFormField{首字大寫你的類型名稱}
  • $type 設定首字大寫你的類型名稱
  • 務必指定 protected function getInput(),這是為了覆寫 JFormField 的方法。

 

在 tmpl 中渲染

 

phpmyadmin – 更新版本後,重啟 Apache 發生錯誤 (Job for apache2.service failed because the control process exited with error code.)

Ubuntu 16 重啟系統 service apache2 restart 報錯

於是下指令查看問題

發現提示如下圖

發現原來是我的 /etc/phpmyadmin/apache.conf 的第 4 行設定錯誤 (我用了兩個別名),於是使用

修改我的檔案以後,重新啟動 Apache 就沒問題了~