2024年5月19日 星期日

如何透過CardDAV跟CalDAV URL與Synology聯絡人、行事曆、工作同步?

2024年了,如何讓類似Outlook的應用程式與Synology同步聯絡人、行事曆、工作?

synology_logo
自從2011年9月7日Synology宣布他們的DSM 3.2支援CardDAV與CalDAV以來,許多Synology用戶都在論壇和IT界中表現出極大的興趣。然而,在Synology官方社群中搜尋“caldav”這個關鍵詞,可以找到長達80頁接近八年內的搜尋結果,從DSM 3.2到6.2,大多數人都在詢問如何才能成功同步。直到現在,真正能成功同步的只有CardDAV聯絡人。這可能是因為很少有人問到CardDAV同步的相關問題。

在2014年,小編撰寫了一篇如何與Synology CalDAV和CardDAV同步Outlook連絡人、行事曆和工作的文章。在過去幾年中,Synology一直負責地更新他們的DSM到目前的6.2版本。四年多過去了,讓我們再次看看Synology NAS提供的CalDAV和CardDAV服務是否仍然可行。此外,如果你是Baikal用戶,要確保Baikal伺服器是否可以在較新版本的DSM上運行。如果你目前的Baikal伺服器運行正常,則無需更新DSM版本。如果你想進行實驗,請確保你真正了解相關資料庫、php、apache等方面的細節。在四年多前的文章中,也提到了如何讓Outlook同步運行在Synology上的Baikal伺服器。如果還沒看過,不妨翻翻舊文,溫故知新。
 

過去曾經能用的同步工具

EVO Collaborator for Outlook從2014年開始支援與Synology同步聯絡人、行事曆、工作 之後,一些同類型的同步工具軟體也逐漸開始支援,例如: gSyncit。在過去幾年的某個舊DSM版本的時候,這些同步工具軟體都可以正常同步。 就目前來說,最新版本的gSyncit已經無法偵測伺服器URL,回傳一個(404) Not Found的錯誤信息。
gsyncit_synology_verify_fail
gSyncit 404 Not Found error
關於Synology的這個問題,小編寫信給EVO團隊提問,得到的回覆是: "就在今年初,我們一個用戶來信提問Outlook無法與Synology的CardDAV伺服器同步行事曆與工作。對於此問題,我們也實驗出來一樣的結果。所以我們針對此問題找出解決辦法以確保用戶可以同步。就在幾天前,這個問題已經解決。"

從Synology官方知識庫來的信息。。。

不知道在哪裡聽到這個說法? 如果一個軟體用戶提報一個問題,其實其背後有一千個用戶也同時會有一樣的問題。只是他們沒有提報罷了。 基於上述的說法以及在Synology官方社群論壇上面討論CalDAV無法同步的熱烈,實際上有很多Synology用戶都在等一個解決方案。哈囉,群暉科技! 快點醒過來解決問題吧! 根據Synology官方知識庫的教學 “如何將 Synology Calendar 與其他 CalDAV 用戶端同步?”,同步行事曆應該是很簡單的課題。同時,另外一篇” 如何使用 Synology NAS 架設行事曆伺服器”也提供設定CalDAV用戶端的步驟。如果你按照這些教學去實作,結果是不會成功的。
synology_webdav_calendar_package
Synology WebDAV & Calendar App
如果你查看Synology DSM介面,你會看到有兩個地方可以建立CalDAV分享URL。一個是在NAS內建的行事曆App:
synology_calendar_caldav%2Baccount
Calendar App裡面的CalDAV Account設定
另外一個則是在WebDAV app:
synology_webdav_add_calendar
WebDAV 新增行事曆
官方知識庫也有提到這兩個地方。就如上面所說的,實作是行不通的。 下面是官方知識庫對於內建行事曆App顯示Calendar URL的截圖:
calendar_generated_path_on_knowledge_base
內建行事曆產生的URL
下面是官方知識庫對於WebDAV URL顯示Calendar URL的截圖:
synology_webdav_generated_path_on_knowledge_base
WebDAV產生的URL

我們發現的真相是。。。

理論上,就同一個CardDAV帳號來說,內建行事曆App跟WebDAV App裡面的行事曆應該要一樣,不應該是分開的。不論你在哪裡存取行事曆資料,應該看到一樣的東西。 對於上述狀況,也許舊版DSM是正常的。但是目前已經不可考究。就現在的DSM 6.2來說,經過實驗證明,兩個App的行事曆是分開獨立的。同時,在找出解決辦法之後,我們確定WebDAV App的行事曆經過一些修正之後才可以提供同步之用。

解決問題,繼續同步

我們花了很多時間找出官方知識庫跟實作上面步驟的差別,並對其URL、路徑、主機名稱,連接埠等等作差異比較之後,我們在數個CalDAV用戶端軟體上面已經同步成功。 我們先列出完全可用的CalDAV URL。然後我們再將其與知識庫提供的URL作比較。下面是完全可用的URL:
  • 非SSL: http://<server_hostname_or_ip>:port/homes/<user_account>/<calendar_folder>/
  • SSL: https://<server_hostname_or_ip>:port/homes/<user_account>/<calendar_folder>/
我們實驗裡面實際使用的URL:
  • 非SSL: http://junkyard2019.ddns.net:5005/homes/junkadmin/calendar/
  • SSL: https://junkyard2019.ddns.net:5006/homes/junkadmin/calendar/
在DSM 6.2內建行事曆App 實作產生的URL:
synology_calendar_caldav%2Baccount_path
Synology內建行事曆URL路徑
我們先把主機名稱擺一邊,直接比對上圖與實際可用的URL路徑。經過瀏覽Synology NAS的樹狀路經後,完全找不到圖中的caldav目錄名稱。也就是說,圖中的URL路徑是完全不可用的。就算可以用,也只能在行事曆App裡面有效,無法做同步之後。

WebDAV App提供的URL路徑:

synology_webdav_path_for_quickconnect
Synology WebDAV提供的URL路徑
synology_webdav_generated_path_on_knowledge_base
官方知識庫示範的CalDAVURL路徑
現在,我們來比對完全可用的URL、DSM 6.2上面實作產生的URL、官方知識庫提供的WebDAV URL路徑。同樣地,把主機名稱擺一邊。DSM 6.2的版本完全正確。但是,除非把鼠標停留在Location底下,否則根本不會出來。一般使用者沒有注意到的話,應該只會專注在KB上面的教學。再來,兩個WebDAV版本差別在於資料夾路徑。官方知識庫的路徑是:
  • /web/Calendar/Work
實作產生的路徑:
  • /homes/<user_account>/<calendar_folder>
比較之後發現路徑上的差異是造成使用者們無法同步Synology CalDAV服務主要原因。同步工具軟體們按照原先舊的/web/Calendar/<calendar_folder>自動偵測法則並無法偵測到新版的URL路徑。過去幾年中,舊版的路徑偵測都是可以用的,但是新版卻不可以,這只能說明群暉科技的官方知識庫的小編有點偷懶喔。

與Synology CardDAV服務同步

synology_carddav_service_icon
Synology DSM CardDAV 伺服器
在Synology NAS DSM上面CardDAV服務的設定很簡單。只有一個地方可以做連接埠的設定。
synology_carddav-service_UI
Synology CardDAV 設定介面

目前完全可用的CardDAV URL:

  • 非SSL: http://<server_hostname_or_ip>:port/addressbooks/users/<user_account>/addressbook/
  • SSL: https://<server_hostname_or_ip>:port/addressbooks/users/<user_account>/addressbook/
如果逐字比較,我們可以發現上面的URL格式跟先前2014年提供的EVO Collaborator for Outlook所用的格式一模一樣。在官方知識庫裡,只有兩頁提到如何做DSM裡面相關參數的設定。完全沒有針對iOS、macOS、Thunderbird、Outlook等等用戶端相關軟體的設定教學。這是蠻可惜的。

與Synology CardDAV伺服器同步的一些問題

狀況 #1

這是一個蠻有意思的狀況。大部分郵件軟體包含Thunderbird、Outlook、iOS Mail等等 ,裡面聯絡人的地址區塊把街道名、城市、區域、國家、郵遞區號等等儲存在各自的項目中,如下圖:
synology_outlook_original_address
Outlook聯絡人地址項目
但是,當聯絡人資料同步至Synology NAS以後,全部的項目都會被併至街道名項目裡面,如下圖:
synology_one_line_address
Synology地址合併為一行
當同步工具偵測上述的合併動作之後,會把這些變更同步回本地端的聯絡人。看官們可能會馬上瘋掉。為了避免悲劇的發生,絕對不要在Synology上面做任何修改動作。
synology_outlook_one_line_address_after%2Bsync
同步過後Outlook地址變成一行

狀況 #2

如果使用同步工具的郵件軟體是Outlook,在聯絡人的電話分類清單中,不要使用主要(Primary)類別來儲存電話號碼。
synology_issue_primary_phone_number
Outlook 電話 Primary
在另外一端的Synology NAS上面,不要使用TelephonePreferred兩種類別來儲存號碼。

synology_issue_telephone_preferred_number

在我們的實驗中,會發生下列諸多的問題: 1. 當Primary類別電話號碼被同步到Synology NAS以後,一開始會被分類到Telephone。如果在NAS上面修改這筆電話,後續的同步結束以後,該筆在Outlook上面的Primary類別電話號碼會消失。 2. 建立在Synology NAS上面Telephone類別電話號碼不會被同步到Outlook上面。 3. Preferred類別電話號碼是會被同步到Outlook上面,並且會以Primary類別存在。但是,該筆Primary類別電話號碼又會被同步回Synology上面並以Telephone類別項目的形式存在。這時候,#1的狀況又會再次發生並造成Primary電話號碼的消失。 4. 當Synology上面Telephone跟Preferred類別電話號碼都存在的狀況下,Preferred電話號碼照道理來說會跟Outlook上面的Primary電話號碼同步並一致。但是,實際狀況則是Preferred電話號碼會不見,Primary電話號碼又會被存入Telephone分類的電話號碼中。再來,又會回到#1的狀況。 上述的實驗最後會變成一種不會結束的迴圈。因此,為避免造成不必要的資料流失,不要使用這三個電話類別以及其他籠統名目的電話類別。

在不同軟體/平台上面與Synology CalDAV跟CardDAV同步

讓我們來看看是否同步工具軟體/插件是否能勝任在不同平台上面做同步的工作

Outlook與Synology CalDAV跟CardDAV同步

EVO Collaborator for Outlook可以經過一次設定就輕鬆做到同步CalDAV行事曆、工作 跟CardDAV聯絡人的課題。相容的平台是Outlook 20072010201320162019Office 365。下面是設定的步驟:
  1. 打開Outlook。
  2. 點擊Configure Profile(s)
  3. eco_config_profile
    Configure Profile(s)
  4. 典籍左下角的Profile #21
  5. eco_profile_21
    點擊Profile #21
  6. 在上方依照先前提供的格式輸入Synology NAS的主機名稱
    eco_server_hostname_url
    輸入伺服器主機名URL
    • 透過非SSL同步: https:/<server_hostname_or_ip>:8008
    • 透過SSL同步: https://<server_hostname_or_ip>:8443
  7. 輸入帳號密碼
    eco_enter_username_password
    輸入帳號及密碼
  8. 點擊下方的TEST之後,聯絡人、行事曆、工作的伺服器URL就會自動偵測並在URL空白欄為自動填入。

    eco_auto_discovery_result

    eco_click_test_and_apply_button_before_test
    點擊TEST按鈕
  9. 又,若是Synology上面有多個行事曆(日曆)或工作,點擊上一個步驟中URL右手邊的資料夾圖案即可從跳出來的視窗中選擇。
    eco_calendar_task_folder_list
    多行事曆清單
  10. 點擊下方的Apply儲存設定。

    eco_click_test_and_apply_button

注意事項:
  • 為了讓自動偵測能夠正常運作,所有非SSL或SSL使用的連接埠必須使用Synology提供的預設值:
    • CardDAV: 非SSL: 8008 / SSL: 8443
    • CalDAV: 非SSL: 5005 / SSL: 5006
  • 同時,在輸入主機名稱的時候,最後面的連接埠一定要輸入。非SSL需要輸入”:8008”。SSL需要輸入”:8443”。

    eco_port_8008_hostname

    eco_port_8443_hostname

  • 若是因為某些考量,CalDAV跟CardDAV的連接埠必須使用非預設值的連接埠號碼,則需要手動輸入URL。此時,將Server Hostname空間保留空白然後按照先前講到的URL規則在伺服器URL區塊來手動輸入URL。完成之後,同樣點擊TEST做測試,然後點擊Apply儲存設定。

    synology_eco_server_url_empty_configure_manually

macOS與Synology CalDAV跟CardDAV同步

一直以來,很多人macOS在建立CardDAV跟CalDAV帳戶的時候遇到” Unable to verify account name or password.”的問題。因為無法設定CalDAV帳戶,所以連同步都談不上。我google這個信息,找到很多答案,應該是跟伺服器憑證有關。 小編針對這個問題做了一個實驗供看官做參考。在這個實驗的下面三種狀況裡面,我嘗試在Mojve上面建立CardDAV跟CalDAV帳號:
  1. Synology上面有預設Synology自己簽署(Self-signed)的憑證。
  2. 在Synology上面匯入第三方自己簽署的憑證。
  3. 在Synology上面匯入CA簽署的憑證。
在第一個跟第二個狀況裡面嘗試建立帳戶的時候,不論是透過手動或是進階模式,大多數機會都會出現上面這個無法驗證帳戶名跟密碼的信息。但是在第三個狀況,透過進階模式,每次建立帳戶都可以成功。 然而在測試第一種跟第二種狀況的時候,偶而有一個信息跳出來”Internet Accounts (System Preferences) can’t verify the identity of the server “junkyard2019.ddns.net””。我就聯想到如果讓自己簽署的憑證在macOS底下永遠受信任,應該就沒有問題了。我嘗試了,也成功了。只要把憑證匯入macOS底下並永遠信任它,不論哪一種狀況下建立CardDAV跟CalDAV帳號都沒有問題。 現在,我來總結一下在建立DAV帳戶之前有哪些步驟要先做?
  1. 如果要使用Synology自己簽署的憑證,將該憑證匯出至macOS。
    • 在Synology NAS底下把憑證匯出到一個crt憑證檔案。
      01_export_self_sign_cert
      匯出crt憑證檔案
    • 將此crt憑證檔案在macOS匯入。
      02_import_self_sign_to_macos
      在macOS匯入剛剛匯出的憑證
    • Keychain Access裡面左下角的Certificate設定中選取該憑證下拉選單的Get Info,點擊並展開Trust,然後在下拉選單中選擇Always Trust
      03_get_info_on_cert
      點擊憑證帶出選單並點擊Get Info
      04_make_cert_always_trust
      點擊Always Trust取代系統預設值
  2. 如果要使用現有CA簽署的憑證,將該憑證匯入至Synology。
    • 如果手上沒有CA簽署的憑證,可以按照此連接的教學取得。
    • 隨後,點擊Control Panel/Security
      06_control_panel_security
      Synology 的Control Panel / Security
    • 點擊Certificate分頁。
      07_certificate_tab
      Certificate分頁
    • 點擊Add
      08_add_new_certificate
      點擊Add然後Add a new certificate
    • 參考上面的截圖,點擊Add a new certificate然後Next
    • 點擊Import certificate然後Next
      09_import_certificate
      匯入憑證
    • 點擊Browse來瀏覽存放憑證檔案的資料夾。
      10_browse_ca_signed_cert
      瀏覽憑證檔案資料夾
    • 參考上面的截圖,分別匯入Private Key, CertificateIntermediate certificate,然後點擊OK
當上面的步驟完成之後,在先前Synology DSM的憑證分頁點擊Configure,將下拉選單中CA簽署或自己簽署的憑證指派給CardDAV ServerWebDAV Server
11_select_certificate_as_default_for_carddav_webdav
指派憑證給CardDAV/WebDAV伺服器
再來,繼續完成設定macOS的動作:
  1. 在macOS打開System Preferences / Internet Accoutns
    12_system_preference_internet_accounts
    macOS的System Preferences / Internet Accounts
  2. 點擊Add Other Account…:
    13_add_other_account_selection
    點擊Add Other Accounts...
    • 如要設定CardDAV帳號,點擊CardDAV account
    • 如要設定CalDAV帳號,點擊CalDAV account
  3. Account Type的下拉選單中選擇Advanced,然後輸入:
    14_advanced_account_type
    Account Type 選擇Advanced
    • User Name, 範例: junkadmin
    • Password, 範例: ********
    • Server Address:
      • 格式: server_host.domain.com
      • 範例: junkyard2019.ddns.com
    • Server Path:
      • 如要設定CardDAV:
        • 格式: /addressbooks/users/<username>/addressbook/
        • 範例: /addressbooks/users/junkadmin/addressbook/
      • 如要設定CalDAV:
        • 格式: /homes/<username>/<calendar_folder>/
        • 範例: /homes/junkadmin/appointment/
    • Port:
      • 8443 for CardDAV
      • 5006 for CalDAV
    • Use SSL: 保持打勾
      15_carddav_advanced_setting_demo
      CardDAV設定範例
      16_caldav_advanced_setting_demo
      CalDAV設定範例
      17_both_dav_accounts_added
      添加CardDAV跟CalDAV帳號完成
  4. 最後,點擊Sign In繼續登入。
下面為同步結果的截圖:
18_macos_address_book
macOS聯絡人同步結果
19_macos_calendar_sync_demo
macOS行事曆同結果

iOS (iPhone & iPad) 與Synology CalDAV跟CardDAV同步

在過去幾年,蘋果的iOS不論是iPhone或是iPad一直以來在CalDAVCardDAVExchange以及市面上其他同類型帳戶方面的建置以及同步是最合拍的。在下面的實驗裡面,我們測試安裝最新版本iOS 12.2iPhone XS。 之前,我不記得是哪個版本,好像是iOS 10或11,蘋果開始強制性地要求此類帳戶建置以、連線及同步必須透過SSL/TLS協議。我個人覺得這樣子比較好。畢竟不是每台伺服器都會安裝SSL憑證也不是每個人都要透過SSL連線。就目前的iOS 12.2,非SSL連線仍然行不通。 在CardDAV方面,當我輸入伺服器IP或主機名稱(無須輸入連接埠)、帳戶名、密碼之後,iOS非常迅速的偵測到伺服器URL。一下子就設定完畢。

iphone_carddav_summary

在CalDAV方面,由於iOS無法偵測到正確的伺服器URL,這裡需要調整一些參數才可以搞定:
  1. 在iPhone上面,點進 Settings/Password & Accounts。
    iphone_password_account
    iPhone的Settings / Passwords & Accounts
  2. 往下拉到Add Account並點進去。
    iphone_add_button
    iPhone的Add Account
  3. 點進Other。
    iphone_account_template_selection
    點進去Other
  4. 點進Add CalDAV Account。
    iphone_other_template_selection
    點擊Add CalDAV Account
  5. 在輸入伺服器主機名稱、帳戶名、密碼之後,點右上角的Next。
    iphone_enter_server_username_password
    輸入伺服器、帳號、密碼
  6. 跳出”Cannot Connect Using SSL”時,點Cancel。然後再點OK繼續。
    iphone_caldav_unable_ssl_warning
    無法透過SSL連結
    iphone_caldav_cannot_verify
    無法確認帳戶資料
  7. 點在Advaned Settings。
    iphone_caldav_advanced_settings
    進入Advanced Settings做微調
  8. 照以前來說,iOS通常都能偵測到完整的CalDAV伺服器URL,然後不用再做任何設定即可順利建置帳號。針對Synology的CalDAV服務,這部分則沒有辦法做到。所以我們只能按照先前提到的URL生成手法來手動補上完整的伺服器URL。範例如下:
    • https://junkyard2019.ddns.net:5006/homes/junkadmin/appointment
      iphone_caldav_advanced_change_url
      修改Account URL
  9. 接下來點前一步驟截圖中左上角的< CalDAV
  10. 點右上角的Next繼續。
    iphone_next_top_right
    點擊右上角的Next
  11. 接下來會的頁面會出現完成建置才會有的打勾,然後下一個畫面中可以開啟或關閉行事曆或工作的選項。
    iphone_caldav_settings_verified
    CalDAV帳號設定完成,打勾表示確認
  12. 最後,點右上角的Save儲存設定。
    iphone_caldav_save_settings
    點在右上角Save儲存設定
只要透過一些微調,還是可以讓iOS裝置與Synology NAS同步聯絡人、行事曆、工作。

Thunderbird與Synology CalDAV跟CardDAV同步

在Thunderbird底下, Lightning插件可以用於同步Synology的CalDAV行事曆。設定步驟如下:
  1. 打開Thunderbird並確認是否已經更新到目前最新的60.5.3版。
    thunderbird_website_tw
    Thunderbird 官網
  2. 滑鼠右鍵點在行事曆區塊,然後點選New Calendar…
    synology_thunderbird_add_calendar_menu
    新行事曆選單
  3. 點擊On the Network選項,然後點擊Next
    synology_thunderbird_lightning_on_network
    添加行事曆 - On the Network
  4. 點擊Caldav並輸入按照先前提到的URL生成手法產生的伺服器URL,然後點擊Next
    • https://junkyard2019.ddns.net:5006/homes/junkadmin/appointment/
      synology_thunderbird_lightning_create_new_calendar
      點選CalDAV,輸入伺服器URL
  5. 輸入行事曆名稱還有點選電子郵件供會議邀請用途,然後點擊Next
    synology_thunderbird_lightning_name_calendar
    輸入行事曆名稱、輸入電子郵件地址供會議通知使用
  6. 在跳出來的Add Security Exception視窗裡面,點擊Confirm Security Exception
    synology_thunderbird_lightning_confirm_certificate
    確認憑證例外
  7. 此時,在新建立的行事曆上面點擊滑鼠右鍵,在下拉選單中,點選Synchronize做同步。
    synology_thunderbird_click_on_synchronize_calendar
    點擊Synchronize Calendars
  8. 在跳出來的Authentication Required的視窗裡面,輸入帳戶名密碼,然後點擊OK
    synology_thunderbird_lightning_enter_username_password
    輸入帳戶名、密碼做認證
  9. 點擊Finish完成設定。 
    synology_thunderbird_lightning_complete
    行事曆設定結束
  10. 最後,同步完成。
    synology_thunderbird_lightning_sync_complete
    行事曆同步完成
在CardDAV方面,SOGo connector for Thunderbird可以拿來同步Synology的CardDAV聯絡人。設定步驟如下:
  1. 打開Thunderbird並確認SOGo connector for Thunderbird已經安裝。在SOGo connector官網點擊下面畫面圈起來的60.0.2完成下載的動作。
    synology_thunderbird_sogo_connector_download
    下載SOGo Connector for Thunderbird
  2. 在Thunderbird裡面打開Address Book
    synology_thunderbird_sogo_connector_addressbook_button
    打開Address Book
  3. 點擊左上角File然後New -> Remote Address Book
    synology_thunderbird_sogo_connector_remote_address_book
    打開 File / New / Remote Address Book
  4. 在跳出來的視窗裡面,輸入連絡簿名稱並輸入按照先前提到的URL生成手法產生的伺服器URL,然後點擊OK
    • https://junkyard2019.ddns.net:8443/addressbooks/users/junkadmin/addressbook/
      synology_thunderbird_sogo_connector_enter_url_info
      輸入行事曆名稱以及伺服器URL
  5. 在跳出來的Add Security Exception視窗裡面,點擊Confirm Security Exception
    synology_thunderbird_sogo_connector_confirm_ssl
    確認憑證例外
  6. 此時,在新建立的連絡簿上面點擊滑鼠右鍵,在下拉選單中,點選Synchronize做同步。
    synology_thunderbird_sogo_connector_click_sync_button
    點選Address Book然後點擊Synchronize同步
  7. 在跳出來的Authentication Required的視窗裡面,輸入帳戶名密碼,然後點擊OK。
    synology_thunderbird_sogo_connector_enter_user_password
    輸入帳戶名、密碼做認證
  8. 最後,同步完成。
    synology_thunderbird_sogo_connector_sync_done
    聯絡人同步完成

關於Synology CalDAV跟CardDAV伺服器功能的一些小編感想

Synology提供小到個人、大到企業的NAS解決方案。當然啦,可以下載的一卡車模組化App真的有幫老闆省一筆錢,例如這個CalDAV跟CardDAV伺服器功能就可以免去再建置一台專職的伺服器。但是,我先前指出來的一些小問題例如: 行事曆app的行事曆資料夾跟WebDAV App裡面的行事曆資料夾無法整合、聯絡人裡面的地址區塊的錯亂、官方知識庫小編對於CalDAV伺服器URL小偷懶沒有做更新等等難免有點小困擾。扣除這些小問題,還是能夠透過小撇步還有修改URL格式進而達到讓用戶端同步的目的。其實。。。也不差啦~!

2022年5月17日 星期二

DMARC是什麼? 超簡單為郵件伺服器訂製 SPF、DKIM、DMARC紀錄?

DMARC

郵件伺服器的安全的關係

從郵件伺服器資安的角度來看,IT同事們都知道垃圾郵件是頭號敵人也是ㄧ場長期抗戰。防堵垃圾郵件的辦法有很多種。對於新進郵件,關鍵字過濾、灰名單、IP及網域名黑名單都是基本配備。對於外寄郵件,使用者電腦本身的防駭、密碼複雜度、暴力密碼防猜機制也都不得馬虎。

對方郵件伺服器退信或當作垃圾郵件

上面提到的都是我方可以努力的方向。那如何讓我方寄出的郵件不被退信或是被當作垃圾郵件? 這也是很重要的課題。首先,確認我方郵件伺服器的IP或是網域名是否有在Internet上面的黑名單。這些垃圾郵件黑名單的單位不外乎是Spamhaus或是DNSBL裡面的眾多小黑名單。如果有,不要遲疑,盡快按照該網站上面的說明做除名的動作。

Gmail 跟 Outlook.com/Office 365近年來評估垃圾郵件的趨勢

過去幾年來,Gmail 跟 Outlook.com 已經開始新進郵件來源的網域名做 SPF、DKIM、DMARC的檢查。同時,在其垃圾郵件規範中也明確的標示並提倡大家跟進去完成 SPF、DKIM、DMARC的建置。

SPF、DKIM、DMARC是什麼?

從反垃圾郵件機制上面來說,在自家郵件伺服器上面建置這三樣機制算是比較簡單、無須人力維護,卻有其一定效果的方法。如果大家不知道這些是什麼,可以去維基百科上面去了解一下DMARC,小編在這裡就不贅述了。當郵件抵達收件方的時候,其郵件伺服器會查詢對應網域的DNS紀錄。如果值跟條件都符合,郵件就會被收下。如果有些不符合,郵件則會被退回或是被放到垃圾信資料夾。

我如何知道我的郵件伺服器有沒有DMARC這些東西?

如果不確定是否已經設定這三個DNS紀錄,不用著急。可以去MXToolBox網站上面查詢:
有時候如果忘記這個網站,也沒有關係。只要Google一下dkim checker、dkim record、dkim validator、dkim test等等字串。也是可以找到替代方案做檢查。至於SPF或是DMARC的部分,也可以做類似的搜尋,只是把dkim換成spf或dmarc即可。

將這三個紀錄綁在一起一次做設定是有其原因的。因為要建置 Google 提倡的DMARC之前,必須先設定好 SPF 跟 DKIM。讓我們一個一個按照順序來做設定。以下的範例,我們會用Zoneedit 這個DNS代管服務商來做演示。

SPF

登入DNS代管服務之後,打開DNS紀錄並新增一筆SPF紀錄。如果沒有看到SPF紀錄,就新增TXT 紀錄。在 HOST部分,保持@的預設值。在 TEXT (值) 的區塊填入類似下面的設定值:
Zoneedit SPF record
Zoneedit SPF record
"v=spf1 a mx ip:123.123.123.123 ptr ~all"

上面的雙引號不是必須輸入的,因為有些DNS代管要你填,有些不用。在ip4:後面的IP是自家郵件伺服器的IP位址。由於SPF的官網目前無法訪問,其餘的參數部分可以參考SPF wiki上面的記載。

DKIM


首先,先確認自家郵件伺服器是否支援DKIM,如EVO Mail Server? 如果有支援,往下看。再來,要產生DKIM 需要的私密及公開金鑰有兩種方法。一種是從網路上面一些提供產生金鑰的網站。其缺點是產生的私密金鑰無法拿來與申請SSL憑證簽署的私密金鑰共用。
DKIM Generator
DKIM Generator

另外一種方法是使用mail server裡面內建的金鑰組生成工具。這裡面的私密金鑰則可以搭配同時產生的憑證一起拿來做SSL憑證簽署。長遠角度來說,可以省去一些時間。
EVO Mail Server DKIM generator
EVO Mail Server DKIM generator
廢話不多說,下面是設定的步驟:
Zoneedit DKIM record
Zoneedit DKIM record
  1. 當上面敘述的金鑰組拿到以後,登入DNS代管服務並且新增用於DKIM的TXT紀錄。
  2. HOST值輸入郵件伺服器提供的DKIM Selector參數。如果不清楚Selector是什麼,請找郵件伺服器經銷商。以EVO 郵件伺服器為例,它提供的Selector是evoms_domainkey。
  3. TEXT (參數) 部分,貼上先前準備好的DKIM公鑰。如果是EVO Mail Server,點擊摘要頁面中間網路組態區塊裡面的主要網域DKIM檢測右手邊的藍色解決方案。此時,會跳出一個notepad的視窗,把裡面全部的字串圈選起來並且copy起來貼到參數區塊。
註記: 不易忘記把產生金鑰網站做出的私密金鑰也儲存起來跟郵件伺服器憑證相關檔案放在一起,檔案名範例: yourdomain_dkim_private.key。如果沒有儲存起來,所有動作都得全部從來一遍。如果是用郵件伺服器內建產生的,則不用擔心,因為郵件伺服器會自行處理儲存起來以後備用。

都建置好以後,我們可以利用Gmail收一封從自家郵件服器寄過來的郵件來檢查SPF跟DKIM是否已經生效。先登入Gmail帳號,然後點開新進的測試郵件。點擊在右上角的三個點按鍵,從選單中選擇Show original
Gmail - Show original
Gmail - Show original
在跳出來的視窗中,我們可以看到SPF跟DKIM都是PASS的狀態。
Gmail - SPF and DKIM pass status
Gmail - SPF and DKIM pass status

DMARC

在確認經由上面的方法或是下圖所示的MXToolBox網站對SPF跟DKIM的檢查通過之後: 
Verify SPF and DKIM in MXToolBox
Verify SPF and DKIM in MXToolBox
我們可以繼續設定DMARC。
Zoneedit DMARC record
Zoneedit DMARC record
  1. 登入DNS代管服務並且新增用於DMARC的TXT紀錄。
  2. HOST值輸入_dmarc
  3. TEXT (參數) 部分,可以參考DMARC官網對參數的詳細說明。範例如下:
    v= DMARC1; p=none; rua=mailto:postmaster@yourdomain.com
  4. 儲存設定之後,需要等幾小時讓DNS紀錄生效。然後我們可以利用MXToolBox做檢查。
  5. 日後,收件方的郵件伺服器會發送詳細或概要的DMARC報表給我們做參考。
MXToolBox check DMARC
MXToolBox check DMARC

小編在此做一些結論。現在看官們的郵件伺服器發出的郵件不會再因為缺乏SPF、DKIM、DMARC紀錄被退信。上面介紹的DNS紀錄建置不僅僅可以供一般的郵件伺服器之用,在類似Synology MailPlus Server (可以參考官方使用手冊) 的server appliance環境下面也可以拿來用。

2019年3月8日 星期五

Mail Server透過iSCSI串連Synology NAS做到HA機制

郵件伺服器搭配低成本SAN以及HA Cluster做到Failover

緣起

小編最近在PCHome購物上面逛一些網路器材。看到10GbE交換器、10GbE網路卡、Cat7網路線也普遍且低價。心裡突然萌生一個是否可能建立一個兩步驟切換的便宜iSCSI SAN且搭配HA Cluster的Mail Server架構? 好繞舌啊~! 額~ 這篇裡面的High Availability 因為不是全自動,可能要改成Medium Availability。這部分,後續會解釋。

大品牌方案

過去十幾年來,類似Cluster跟HA方面的郵件伺服器當然有解決方案。Microsoft Exchange Server、IBM Lotus、Oracle Veritas Cluster Server/Messaging Server等等不勝枚舉。但是依舊天價。動輒幾十萬以上。其中包含高規格的硬體規格、伺服器授權、cluster授權、cluster連線數的授權、Mail Server連線數的授權、目錄服務連線數的授權、購買技術支援的費用、建置其間的人工費用等等。

光華牌方案

反觀光華牌陣營,在2019年的今天,SSD跟10GbE網路架構的降價跟普及度讓自架iSCSI SAN & HA Cluster Mail Server不再遙不可及。因此,小編覺得Mail Server現在可以搭配NAS做低價的叢集式架構。

理論

為何可以呢? 依照10GbE的傳輸速度來算,一秒鐘的傳輸速度理論值是1250MB/s,也就是1.25GB/s。一般SATA-3的傳輸速度理論值是6GB/s,也就是750MB/s。
透過網路傳輸時速度絕對會有流失,就算把1250MB/s砍半,也有625MB/s。就算SATA-3維持理論值的七成,抓525MB/s。625MB/s都可以媲美SATA-3 SSD硬碟在電腦主機本地端內部的傳輸速度!

在下面的部分,我們來討論一下相關的軟硬體以及整個iSCSI SAN跟HA Cluster Mail Server的架構:

網路速度

在以前,頂多就是1GbE就蠻好用了。那時候,10GbE就只能在Data Center裡面才用得起。現在這些機私跟以前的天價比較都變得便宜。要達到10GbE的速度,需要SFP+(銅線或光纖)或是RJ-45(Cat6起跳,最好是Cat7)。在cluster servers跟NAS之間一定要用10GbE來串。

SSD硬碟

就在一年前,1TB SSD都還要上萬。近來,1TB SATA-3 SSD的價格不到五千,甚至更低! 小編愛用的品牌就兩個,Micron跟Intel。下面是隨便找PCHome的價格,光華商場可能更便宜:

  • Micron MX500 2TB: NTD$ 10999 / 1TB: NTD$ 4499
  • Intel 545s 1TB: NTD$ 7999

Synology NAS

看起來,買Micron的4到5顆1TB搭配Synology NAS做RAID 5 或 RAID 6,對IT同事來說是ㄧ大福音! 提到 Synology NAS,小編覺得DS1517+ 是ㄧ個好選擇。對於我們要建置的架構來說,其內建硬碟熱插拔功能跟其擴充至E10G18-T2高速雙埠 10GBASE-T雙10GbE的另購選項是不可缺少的! 記得,記憶體部份升級到16GB

到目前為止,郵件資料的備援跟備份皆可以在NAS上面解決。例如: RAID 5底下裝4顆1TB SSD做為儲存日常郵件之用。第5顆則可以裝一顆4TB的傳統硬碟存放年代久遠的郵件備份以及Cluster上面的VMWare或Windows Backup之用。又或是,可以留做SSD快取也不錯。

Cluster PC

  • 硬體部分: 買兩台Intel i7,各搭配16GB記憶體、各安裝一顆120GB SSD。各安裝10GbE網路卡提供與NAS連線。內建的1GbE網路卡連接至路由器。是否還需要再各安裝1GbE網路卡提供Cluster Heartbeat? 這一點我稍後會說明。
  • 軟體部分: 安裝Windows 10。在兩邊的Windows 10裡面再各自安裝一套EVO Mail Server。是否需要另外安裝VMWare Workstation將郵件服務虛擬化? 這一點我稍後會說明。

Cluster Hearbeat的迷思

一般來說,Cluster類似Windows Server 2008, 2012, 或2016等等,在兩個Node上面會另外插一張網卡做Hearbeat之用。那是Windows Server本身有內建這個功能。但是在Windows 10上面並沒有類似的功能,小編也Google了一下,沒有找到給Windows 10用的小工具(如果大家知道有此類小工具,麻煩好康到相報一下)。

這類在Windows Server上面的Heartbeat協同仲裁硬碟(Quorum) 決定是否自動跳到備援主機。小編認為此類自動機制是用於迫切性高的web server或是database server這種一翻兩瞪眼的狀況,也沒有太多的爭議。

對於郵件伺服器,從另外一個角度來看Cluster Heartbeat。小編認為郵件伺服器的運行迫切性沒有這麼高,容錯程度高一點。可以先由IT人員花幾分鐘檢查以後,再決定:
  • 是否當下幫主要伺服器除錯之後繼續運行?
  • 是否立馬換到備援伺服器?
一般來說,可能會發生的問題、狀況不外乎:
  • 硬體: 主機板、記憶體、硬碟、電源、網路卡、網路線 - 若是知道是壞了,立馬轉到備援伺服器。
  • 軟體: 作業系統、郵件伺服器軟體的bug - 若是很大的問題,例如作業系統損毀無法開機,則立馬轉到備援伺服器。若是10分鐘之內可以解決,例如郵件伺服器的一些bug或參數需要微調,則無須轉到備援伺服器。
雖然需要IT花費幾分鐘手動診斷,卻能夠掌控狀況。

是否建置VMWare?

這部分見仁見智。小編認為如果有足夠經費,在主要伺服器上面安裝VMWare Workstation版本,這是備援伺服器以外的另外一道備援防線:
  1. 在VMWare底下安裝另外一套Windows 10的虛擬系統A
  2. 確定虛擬系統A正常運行郵件服務之後關閉虛擬系統A
  3. 安裝另外一顆120GB SSD
  4. 虛擬系統A的映像檔拷貝一份到新添的120GB SSD中當做虛擬系統B
這樣做的原因是如果主要伺服器硬體皆正常,在虛擬系統A映像檔損毀的狀況下,可以直接打開虛擬系統B運行郵件服務以盡可能減少服務中斷的時間。

Cluster轉換主機的手段

以EVO Mail Server為例,所有設定檔案皆在NAS上面,因此Cluster Servers的角色僅為執行郵件伺服器主程式、與NAS連線、跟與外界連線的目的。根據每個IT弟兄不同的習慣,從郵件服務從主要伺服器移到備援伺服器有幾個方法,看官自己斟酌哪個方便:
  • 如果在Router內網裡面:
    • 若Router上面有做Port Forwarding (有些人稱Virtual Server),可以登入Router將Port Forwarding指向的內部IP改成備援伺服器的內部IP即可。
    • 如果習慣關閉發生問題的主要伺服器,則可以在平常時關閉備援伺服器的網路卡,要轉移到備援伺服器的時候再啟動其網路卡,這樣子,備援伺服器網路卡的內部IP設定可以跟主要伺服器一樣。缺點就是無法使用遠端桌面去操作,必須實際登入備援伺服器設備本身去操作。
    • 上面第二種方法有另外一種變通,備援主機待機的時候,網路卡還是打開並指定另一個不同的內部IP。這種方法就可以透過遠端桌面去做轉移。要轉移的時候,還是先關閉發中問題的主要伺服器,再將備援伺服器的內部IP改成主要伺服器的內部IP。
    • 主要伺服器有安裝VMWare的情形下,如果主要伺服器硬體皆正常,只是虛擬系統A映像檔損毀的狀況下,可以直接打開虛擬系統B運行郵件服務以盡可能減少服務中斷的時間。
  • 如果主要備援主機皆在DMZ或是直接連線到Internet:
    • 登入DNS代管服務將郵件伺服器的A紀錄IP指向備援伺服器的實體IP。通常需要一小段時間讓DNS紀錄擴散生效。
    • 主要伺服器有安裝VMWare的情形下,如果主要伺服器硬體皆正常,只是虛擬系統A映像檔損毀的狀況下,可以直接打開虛擬系統B運行郵件服務以盡可能減少服務中斷的時間。(不建議這樣的設定,因為會浪費一個public IP給實體主機。)
以上轉換程序中的注意事項:
  1. 如果主要伺服器還能使用並連網的狀況下,可以自行註銷EVO Mail Server的授權碼。
  2. 如果已經無法使用的狀態,用其他外部郵件帳號發郵件請EVO工作人員手動註銷授權,然後在備援主機上面再次啟動。
  3. 更保險的方式是ㄧ次購買兩個授權,分別用再主要備援主機上面。要注意的是,當備援主機起來以後,要用屬於備援主機的license.dat先把NAS上面的license.dat授權檔案覆蓋過去再啟動郵件服務。
  4. VMWare映像檔的部分,由於是同一個虛擬系統,無須做註銷及啟動。但是,注意不要同時打開兩個虛擬系統。否則,Windows跟EVO Mail Server的授權都會出問題。

實際架設Synology NAS提供的iSCSI SAN跟Windows 10 Cluster HA機制

小編在前的文章有提到如何安裝EVO Mail Server,所以我們現在從郵件伺服器正常運作的狀態接下去做設定。
  1. 在Synology NAS上面建置iSCSI硬碟
    • 如果還沒有建立儲存空間,先建立儲存空間。如果已經有儲存空間,到下一步。
    • 再過來建立TARGET建立LUN。如果才開始建置,通常建立TARGET之後會接著建立以及連接LUN,一次完成。如果之前已經有LUN存在,則視狀況做必要的設定。
    • 打開iSCSI manager。
    • 一開始什麼都沒有。
    • 點擊左手邊的Target,然後點擊Create。
    • 輸入名稱、IQN以及是否啟動CHAP認證。
    • 在下一步會自動做LUN mapping的動作。
    • 定義磁碟大小。
    • 確認先前的設定。
    • 點擊左手邊的Target,可以再次瀏覽設定摘要。
    • 點擊左手邊的LUN,也可以確認LUN是否有連接。
    • 在左手邊的Settings可以把I/O Queue Depth加大,對10GbE還有SSD環境有幫助。
    • 最後在總覽頁面確認iSCSI是否已經完成建置。
  2. 在Windows 10上面啟動iSCSI initiator
    • 設定iSCSI initiator之前可以看看是否要做一些最佳化的動作。
    • 了解最佳化手段並決定是否做最佳化的動作之後,在Windows 10搜尋並打開iSCSI initiator。
    • 打開iSCSI initiator之後,在Target分頁下面的Quick Connect直接輸入Synology NAS的IP可以直接做快速連接。 
    • Discovered tartgets清單出現可以用的target,並且已經連接。
    • 最後的摘要。
    • 在Windows 10搜尋並打開Computer Management
    • 點擊左手邊的Storage/Disk Management之後可以看到新加的磁碟機。
    • 在上圖中,滑鼠右鍵點擊Disk2的區塊,然後選擇Convert to GPT Disk。因為GPT可以建置過2.2TB的磁碟分割。
    • 在新切割的分割上面點擊滑鼠右鍵,選擇New Simple Volume建立分割以及格式化。
    • 經過格式化後的整個iSCSI磁碟。
  3. 將EVO Mail Server的相關檔案搬遷至iSCSI硬碟
    • 打開EVO Mail Server的管理介面,點擊左上角的摘要,然後拉到最下面的Server setting status。
    • 在上圖,點擊Mail Data Folder右手邊的迴圈圖案,打開瀏覽資料夾的視窗。
    • 接下來會跳出一個通知,告知郵件檔案會開始做搬遷的動作。
    • 搬遷完成以後會再跳出一個通知,告知已經完成。
    • 此時,我們可以注意到郵件資料夾已經改變。
  4. 按照"安裝EVO Mail Server"文章最後面提到的步驟做測試。

價格分析

現今,一兩百人的公司企業生存也不大容易,對於IT基礎設施的投資也是捉襟見肘。把上面提的架構,其所需的經費大約如下:
  • Intel i7, 16GB RAM, 120GB SSD, 10GbE 網路卡(可以選擇光纖版本或RJ-45版本), 450W 電源, Windows 10 伺服器主機 x 2, NTD $60000
  • Synology NAS DS1517+ x 1, NTD $22000
  • Synology 擴充記憶體 8GB x 2, NTD $9100
  • Synology E10G18-T2 或 E10G17-F2 10GbE 網路卡  x 2, NTD $18900 或 NTD $21000
  • NAS專用硬碟 美光 MX500 2TB SSD硬碟 x 4, NTD $42000
  • 備份舊郵件專用硬碟 WD 4TB 外接 (如果NAS插槽拿來做SSD 快取),內接 (如果直接插在NAS插槽) x 1, NTD $3500 或 NTD $6000
  • VMWare Workstation 15 x 1, 約 NTD $8000 (此為選購以搭配前面提到的虛擬系統)
上面的價格都是隨便網路上抓的,如果有到處詢價,應該可以壓在NTD$ 15萬有找。不能省的是10GbE網路卡跟硬碟:
  • 網路卡呢? 用光纖版本是最好了。小編剛剛找到一篇一般1GbE網卡跟光纖介面網卡的實做及比較的文章可以參考。
  • NAS本身呢? 也可以直接上DS1817+ (8GB記憶體版本,NTD $26900),內建兩個10GbE網路埠,然後把八顆硬碟插槽拿兩個出來做SSD 快取,SSD快取要用多大的SSD硬碟,可以問商家或參考這篇文章。雖然價格比DS1517+貴幾千塊,但是擴充記憶體跟10GbE的網路卡都省了。實際上是便宜了一萬五至少。不過,話說回來,規格上面有捨有得,所以留給看官自己決定。
  • NAS硬碟部分呢? 為何要拿2TB的? 以SSD的架構來說,容量越大,速度越快。因此,建議一次到位,可以凍就顧!

小編總結: 

呼! 這一篇很長,也寫了很久。這次會寫這篇也是因為剛好眯到10GbE網路架構跟大容量SSD硬碟價格比以前便宜很多。當然啦,還有讓SSD發揮更快速度的建置方式,也就是直接塞幾張PCI-e跟NVME SSD在郵件伺服器裡面。

這次的主題是找出一個讓郵件伺服器有容錯空間的解決方案。NAS跑RAID-5或RAID-6提供儲存空間的容錯。一台主要伺服器跟一台備援伺服器提供主機硬體運行上的容錯。

以上,給大家做一個參考。畢竟每家公司的IT環境不一定一樣,或許可以把目前可用的電腦、零組件、NAS等等兜一組起來用,那花費肯定更低、幫老闆省更多! 最後祝各位IT同學2019年永不當機,一覺到天明!

2019年2月26日 星期二

Free Mail Server 軟體推薦: Linux Mail Server 及 EVO Mail Server

mail server 軟體 vs 硬體

朋友的公司最近需要購買 mail server,於是向筆者詢問軟體硬體郵件伺服器的差異,這裡簡短地與大家說明一下,其實市面上不論是軟體還是所謂的硬體郵件伺服器都是軟體,真正的硬體是把軟體做到SOC晶片內那才叫硬體,所以所謂的硬體郵件伺服器應該指的是 Appliance 這樣的 Linux及郵件軟體安裝。

Linux 郵件伺服器 Mail Server

如果公司規模小,可以玩玩現在很流行的樹莓派主機 Raspberry PI,安裝上LINUX之後 (NOOBS + Raspbian),就有一個十分方便好用的LINUX桌面並且進一步設定安裝LINUX的郵件伺服器軟體。

或者是使用熱血網友製成的Raspberry PI專用Email Server映像檔:
以上的設定您需要購置樹莓派3b主機,機殼,SD卡等等,由於目前SD卡容量還不是很大,因此這樣的Mail Server並不太適合人數超過5人的環境。

Windows Server 郵件伺服器

一般小型企業都已經具備了 Windows Server 2012 / Windows Server 2016 這樣的環境,在這種狀況下可以選擇筆者推薦的 EVO Mail Server for Windows Server 的軟體直接安裝,適合人數較多的環境並且操作較簡易。

2019年1月3日 星期四

紅米手機聯絡人如何與Outlook 2013-2019同步?

小米手機通訊錄匯入至Outlook 2010/2013/2016




小米的紅米MIX 3MI 9MI A3、POCO Phone在過去幾年內越來越受歡迎。它已經把市場擴展到世界各地,例如: 印度、歐盟各國、東南亞、美國等等。結果也是好評如潮。


就像AndroidGoogle (Gmail) 服務跟iPhoneiCloud服務一樣,小米在中國大陸有自己的小米雲服務。目前是還沒有延伸到全球各地。也因此,很多小米用戶就是使用Google的雲服務像同步自己的Google行事曆到Outlook 2016。這裡提供一個教學,讓你可以透過EVO Collaborator for Outlook在桌機或筆電Outlook下面同步小米雲原生聯絡人。

如何同步小米手機行事曆到Outlook?


根據MIUI論壇的說法,小米雲 CalDAV 是還在開發中的,而且一等就是四年,我看是沒什麼希望了,因此行事曆目前還是沒有辦法與 Outlook 同步的,不過如果您用的是小米國際版手機的谷歌行事曆那是可以透過 EVO Collaborator 與 Outlook 2007, 2010, 2013, 2016 ,2019 同步的

如何同步MI A3聯絡人到Outlook?

  1. EVO官方網站下載EVO Collaborator for Outlook。
  2. 打開C:\Windows\System32\drivers\etc\hosts檔案並加入下面的主機名稱對應IP參數:
    120.92.99.7 dav.mi.com
    修改完會像下面的截圖一般:
    為何要做這個步驟呢? 原因在於小米紅米的dav.mi.com伺服器在中國大陸境外是無法解析的。
  3. 儲存檔案之後,照理會即刻生效,如果沒有,可以重啟系統 (shutdown /r)。
  4. 打開Outlook之後找到EVO分頁。
  5. 點擊左手邊的設定帳戶然後編輯左手邊的MI.com
  6. 輸入小米ID (那是什麼? 在哪裡?) 與密碼之後,點擊下方的測試連線。註: 小米ID不是你註冊時用的電話號碼。
  7. 下面的截圖為自動偵測到的小米雲的聯絡人URL。
  8. 最後,點擊下方的儲存以及退出。EVO Collaborator for Outlook會開始首次的聯絡人同步。