Test outgoing email function with smtp4dev

今天跟大家簡介用smtp4dev來測試outgoing email的方法。

Outgoing email即是由SharePoint發給用戶的email, 一般來說你需要有SMTP server就可以測試outgoing email了, Windows 2008本身就有SMTP功能 (位於IIS6 Manager底下)。但如果要來一場「真實」的測試, 你就要(1)架設一部Email server如Exchange去收email; 或(2)把VM連上Internet然後send到一個如gmail的信箱。

以上兩種方法, 第(1)種根本無法在我的8GB notebook上執行, 而且我的開發工作與email的關係比較少, 不想太大廢周章。第(2)種算比較簡單, 但有時會受外圍因素影響導致測試失敗 (如掉進Spam folder), 而且當你要發email給幾個人, 就要開好多個email box。

如果你不求「真實」體驗, smtp4dev絕對是最簡便的測試工具。以下為架設步驟:

1. 先去codeplex把smtp4dev下載, 它是一個約600k的exe程式, 把程式抄到server上。雙擊啟動smtp4dev, 設定一下, 除了輸入domain其他用預設值。啟動後右下角會有個小icon表示他正在執行, 確定它有listening port 25

smtp4dev_setting

smtp4dev_listening

 

2. 在SharePoint 2013 central administration (管理中心) -> 系統設定 ->設定外寄電子郵件設定:

email settings

 

email settings - outgoing

 

在外送伺服器欄裡填入你server的machine name, 如果你的farm有幾台server的話, 就是填你放smtp4dev那台的名字。寄件者地址和回覆址址,需要填入一個可以代表SharePoint系統的email (在實際情況, 多會填IT Support或SP admin的EMAIL), 由於我們是在測試, 隨便填一個容易記住的就好。

3. 完成上一步就已經完成了設定啦! 現在我們用其中一個user帳號, 登入客戶端, 然後隨便找一個Document library, 設定一個「提醒我」(Alert me), 在上面的ribbon選文件庫就看到:

email settings - outgoing2

4. 設定在有任何更新時發出電郵通知。

alertme

在上圖中, 你看到用戶的email會顯示出來的, 表示該用戶的WorkEmail有正確設定, 可以跳到第5步。

但是, 如果你在使用的user帳戶沒有設定email, 在上圖email的位置就會是空的, 按「確定」鈕時會彈出這個錯誤:

email settings - outgoing3

這是由於正在使用的帳戶的User Profile的WorkEmail是空的, SharePoint提醒你要先填好才能報行任務。

要確認你要測試的User有沒有填好WorkEmail, 可以在User Profile Service Application -> Manage User Profile (管理使用者設定檔)查看:

email settings - outgoing4

 

如上圖所示, 我的測試用戶10008的WorkEmail是空的。如果已經設定要AD Sync, 要檢查AD中有沒有填好email, 然後再同步一次。或是用Powershell來更新User Profile (我過幾天會寫一下怎樣改)

5. 於Document library上傳一份新文件, trigger SharePoint發出通知。

6. 這時回到Server, 看到smtp4dev的視窗彈出來, 表示它「攔截」到郵件了:

email settings - outgoing received

 

之所以叫「攔截」因為它只是把所有經過port25的訊息都攔下來, 然後包裝成email的樣子呈現, 如果你有架設到SMTP服務器, 但又啟到smtp4dev的話, 郵件是會被它攔下來的!

在上圖中可以看到, 從SharePoint發出郵件的Subject, to address等等, 按"Save.."可以儲成.eml文件, 或是直接double click 你預設的email軟件會自動打開, 我用的是Thunderbird:

email settings - outgoing received2

 

可惜的是smtp4dev有美中不足, 郵件中有些中文字都變了亂碼。

雖然有缺憾, 但一個小小的程式, 連安裝都不需要就可以馬上用了, 我十分推薦。

 

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: