Database Mail 設定檔
Database Mail 設定檔是相關 Database Mail 帳戶的排序集合。您必須是 msdb 資料庫中之 DatabaseMailUserRole 的成員,而且至少可以存取一個 Database Mail 設定檔,才能傳送郵件。設定檔允許資料庫管理員重新設定預存程序和資料庫應用程式,以便不需變更應用程式的程式碼即可使用電子郵件。例如,在應用程式開發和測試期間,可以使用一組電子郵件帳戶來設定設定檔,接著在應用程式進入生產階段時,使用不同組的帳戶來更新它。應用程式可使用相同的設定檔名稱,但必須使用不同的電子郵件伺服器清單來傳送電子郵件。
[!附註]
由於 Database Mail 不使用傳訊應用程式設計介面 (MAPI),因此,Database Mail 設定檔不是 MAPI 郵件設定檔。Database Mail 不使用 SQL Mail 設定檔。
萬一電子郵件伺服器無法連上或無法處理訊息,設定檔將可改善其可靠性。設定檔中的每個帳戶都有序號。序號會決定 Database Mail 在設定檔中使用帳戶的次序。對於新的電子郵件訊息,Database Mail 會使用最後一個成功傳送訊息的帳戶,或若是訊息尚未傳送,就使用最低序號的帳戶。萬一帳戶失敗,Database Mail 會使用下一個較高序號的帳戶,並依此類推,直到 Database Mail 能夠順利傳送訊息,或直到序號最高的帳戶也失敗為止。如果序號最高的帳戶失敗,Database Mail 會在 sysmail_configure_sp 的 AccountRetryDelay 參數所設定的時間之內,暫停傳送郵件,之後,再從最低的序號開始,重新嘗試傳送郵件的處理序。請利用 sysmail_configure_sp 的 AccountRetryAttempts 參數,設定外部郵件處理序嘗試利用指定設定檔中的每個帳戶,來傳送電子郵件訊息的次數。
如果有多個序號相同的帳戶存在,Database Mail 只會將其中一個帳戶用在給定的電子郵件訊息上。在此情況下,Database Mail 無法保證該序號會使用哪一個帳戶,也無法保證不同的訊息會使用相同的帳戶。
設定檔也可以協助資料庫管理員控制電子郵件的存取。必須要有 DatabaseMailUserRole 成員資格,才能傳送 Database Mail。管理員可以利用設定檔所提供的額外彈性來控制傳送郵件的人員及使用的帳戶。Database Mail 會替每個私人設定檔維護一份可以使用該設定檔傳送電子郵件的使用者清單。msdb 資料庫中同時為 DatabaseMailUserRole 成員的使用者或角色都可以存取公用設定檔。
依預設,設定檔是私人的,而且沒有授與任何使用者可以存取設定檔。若要將設定檔公開,請授與使用者 'public' 或使用者識別碼 0 存取權。如需授與設定檔存取權的詳細資訊,請參閱<sysmail_add_principalprofile_sp (Transact-SQL)>。
設定檔有可能是預設的設定檔。在此情況下,使用者不需明確指定設定檔即可使用設定檔來傳送電子郵件。如果傳送電子郵件訊息的使用者有預設私人設定檔,Database Mail 會使用這個設定檔。如果使用者沒有預設私人設定檔,sp_send_dbmail 會使用資料庫的預設公用設定檔。如果使用者沒有預設私人設定檔,而且資料庫也沒有預設公用設定檔,sp_send_dbmail 就會傳回錯誤。使用者必須是 DatabaseMailUserRole 的成員,才能傳送 Database Mail。