如何設定 SMTP 傳送埠
您可以使用程式設計的方式,或使用 [BizTalk Server 管理] 主控台,來設定 SMTP 傳送埠。
如何以程式設計的方式設定 SMTP 傳送埠
SMTP 配接器會將其組態資訊儲存在「BizTalk 管理」資料庫中 (也稱為「組態」資料庫)。 組態資訊會儲存在自訂 XML 屬性包中。 在 SMTP 配接器初始化期間及其執行階段,伺服器會傳遞組態至配接器,如下:
針對 SMTP 傳送處理常式,組態資訊會藉由呼叫IPersistPropertyBag介面的Load方法傳遞至配接器。
對於 SMTP 傳送配接器,則將組態資訊視為訊息內文中的一組屬性,傳遞至配接器。 SMTP 命名空間會將這些屬性群組在一起。
BizTalk Explorer 物件模型會公開傳送埠的 ITransportInfo 配接器組態介面,其中包含 TransportTypeData 讀取/寫入屬性。 此屬性會將 SMTP 傳送埠組態屬性包接受為名稱/值組 XML 字串。 請注意,若要在 BizTalk Explorer 物件模型中設定此屬性,必須先在 ITransportInfo 介面的 Address 屬性上設定此屬性。
不需要設定 ITransportInfo介面的TransportTypeData屬性。 若沒有設定它,SMTP 傳送埠會使用 SMTP 傳送處理常式的預設值。 SMTP 傳送埠特定屬性是在 SMTP 傳送配接器結構描述 bts_smtp_properties.xsd 中定義。
若您沒有定義重複傳送處理常式組態屬性的屬性,則會使用處理常式的組態屬性。 若您沒有定義必要的屬性,則會使用預設值。 若您沒有定義預設值,SMTP 傳送處理常式會在事件記錄檔中記錄一個錯誤,並將訊息移至備份配接器。
您可以使用程式設計的方式在訊息內容上設定這些屬性。 您可以在 BizTalk 協調流程排程或在自訂管線元件中設定這些屬性。 使用這些屬性時適用下列規則:
若在協調流程上或接收管線的自訂管線元件中設定屬性,則:
若訊息傳送至靜態傳送埠,屬性值會以該傳送埠設定的值覆寫。
若訊息傳送至動態傳送埠,則不會覆寫屬性值。
若在傳送管線的自訂管線元件中設定屬性,則:
- 無論訊息是傳送至靜態或動態傳送埠,都不會覆寫值。
下表列出您可以在「BizTalk 總管」物件模型中設定之 SMTP 傳送位置的組態屬性。
屬性名稱 | 類型 | Description | 限制 | 註解 |
---|---|---|---|---|
SMTPHost | xs:string | 用來傳送訊息的 SMTP 伺服器。 | 最大長度:256 | 預設值:空白。 預設值指示 SMTP 傳送埠將會為處理常式使用組態值。 |
From | xs:string | SMTP 傳送埠放在 SMTP 寄件者 標頭上的電子郵件地址。 | 最大長度:256 | 預設值:空白。 預設值指示 SMTP 傳送埠將會為處理常式使用組態值。 |
副本 | xs:string | 訊息複本傳送目的地的電子郵件地址。 | 最大長度:1024 | 預設值:空白 您可以列出數個電子郵件地址。 |
主體 | xs:string | 訊息的主旨標題。 | 最小長度:00 最大長度:256 |
預設值: %MessageID%。 |
SMTPAuthenticate | xs:int | 要使用的驗證類型。 | 無 | 有效值: - 0 - 沒有驗證 - 1- 基本驗證 - 2 - 處理帳戶 (NTLM) 預設值指示 SMTP 傳送埠將會為處理常式使用組態值。 若要套用預設值,請在設定 TransportTypeData 屬性時,從屬性包中省略此屬性。 |
使用者名稱 | xs:string | 要提供給 SMTP 伺服器驗證的使用者名稱。 | 最小長度:00 最大長度:256 |
預設值:空白 如果 SMTPAuthenticate 等於 1 (基本驗證,則需要值) 。 |
密碼 | xs:string | 要提供給 SMTP 伺服器驗證的使用者密碼。 | 最小長度:00 最大長度:256 |
預設值:空白 如果 SMTPAuthenticate 等於 1 (基本驗證,則需要值) 。 |
ReadReceipt | xs:boolean | 為來自此傳送埠的訊息要求一個讀取回條。 | 無 | 預設值:False |
DeliveryReceipt | xs:boolean | 為來自此傳送埠的訊息要求一個送達回條。 | 無 | 預設值:False |
EmailBodyText | xs:string | 指定傳送的電子郵件內文所使用的文字。 | 最大長度:64 kb | 預設值:空白 |
EmailBodyTextCharset | xs:string | 指定用來編碼使用 EmailBodyText 選項時所傳送電子郵件本文的字元集。 SMTP 配接器會將EmailBodyText 轉換為 EmailBodyTextCharset所指定的字元集。 | 無 | 預設值:無。 您必須明確設定該值,例如設為 UTF-8。 如果沒有設定一個值,則可能會發生本主題末尾所示範的錯誤。 |
EmailBodyFile | xs:string | 指定將用於傳送的電子郵件內文的檔案內容,以及檔案的完整路徑。 在執行階段,SMTP 配接器的主控件必須可以存取此路徑。 | 路徑最大長度:256 個字元 | 預設值:空白 |
EmailBodyFileCharset | xs:string | 如果已設定 EmailBodyFile 屬性,請指定要用來編碼所傳送電子郵件本文的字元集。 SMTP 配接器不會在檔案執行任何轉換;檔案必須已經使用此字元集編碼。 若檔案有一個「位元順序標記」(Byte-Order-Mark,BOM),SMTP 配接器會移除它。 | 無 | 預設值:UTF-8 (65001) |
附加檔案 | xs:string | 指定要附加一或多個檔案至電子郵件訊息,以及檔案的完整路徑。 在執行階段,SMTP 配接器的主控件必須可以存取指定的一或多個路徑。 | 路徑最大長度:256 個字元 | 預設值:空白 |
MessagePartsAttachments | xs:int | 指定如何將 BizTalk 訊息部分附加到電子郵件訊息 | 無 | 有效值: - 0 - 不會使用 BizTalk 訊息元件做為附件。 - 1- BizTalk 訊息本文部分會以電子郵件附件的形式傳送。 在此情況下,應該指定 EmailBodyFile 或 EmailBodyText 屬性。 若沒有指定這些屬性的任何一個,則會將 BizTalk 訊息內文部分當做電子郵件內文,而非附件來傳送。 - 2 - 所有元件都會以附件的形式傳送。 不過,如果未指定 EmailBodyText 或 EmailBodyFile ,則 BizTalk 訊息本文部分會當做電子郵件本文傳送,而其他部分則會以附件的形式傳送。 預設值:0 |
ReplyBy | xs:dateTime | 以指定的值填入傳出訊息中的 [回復依據 ] 標頭欄位。 | 此屬性無法在傳送埠屬性頁面中設定。 可以從管線或協調流程中設定此屬性。 | 預設值:空白 |
下列程式碼顯示要用來設定這些屬性的 XML 字串格式:
<CustomProps>
<DeliveryReceipt vt="11">-1</DeliveryReceipt
<SMTPHost vt="8">sfdsadf</SMTPHost>
<Subject vt="8">Some subject</Subject>
<From vt="8">username@domain.com</From>
<SMTPAuthenticate vt="19">2</SMTPAuthenticate>
<ReadReceipt vt="11">-1</ReadReceipt>
</CustomProps>
如何使用 BizTalk Server 管理主控台來設定 SMTP 傳送埠
您可以在 [BizTalk Server 管理] 主控台中設定 SMTP 傳送埠配接器變數。 若未設定傳送埠的屬性,則使用 [BizTalk Server 管理] 主控台中所設定的預設傳送處理常式值。
若要使用 [BizTalk Server 管理] 主控台設定 SMTP 傳送埠,請使用下列程序。
設定 SMTP 傳送埠的變數
在 [BizTalk Server 管理] 主控台中,建立新傳送埠,或按兩下現有的傳送埠以進行修改。 如需詳細資訊,請參閱 如何建立傳送埠。 設定所有傳送埠選項,並在 [一般] 索引標籤的 [傳輸] 區段中指定 [類型]選項的SMTP。
在 [ 一般] 索引標籤的 [ 傳輸 ] 區段中,按一下 [ 類型] 旁的 [ 設定]。
在 [ SMTP 傳輸屬性] 對話方塊的 [ 一般 ] 索引標籤上,執行下列動作:
使用 作法 若要 必要。 指定傳送訊息目標的電子郵件地址。
您可以指定多個地址。
最大長度:256
如需此屬性的詳細資訊,請參閱 SMTP To 屬性的限制。副本 指定傳送訊息副本的電子郵件地址。
您可以指定多個地址。
最大長度:1024主體 指定訊息的主旨標題。
最小長度:00
最大長度:256通知 指定通知回條的類型。 您可以選取一或兩種類型的回條。 通知回條的類型有:
- 已讀回條。 讀取訊息時會傳送確認電子郵件訊息。
- 傳遞收據。 傳送訊息時會傳送確認電子郵件訊息。在 [ SMTP 傳輸屬性 ] 對話方塊的 [ 撰寫 ] 索引標籤上,執行下列動作:
使用 作法 BizTalk 訊息內文部分 指定此選項,可使用 BizTalk 訊息內文部分做為傳送的電子郵件內文。 Text 指定傳送的電子郵件內文所使用的文字。 選取 [ 文字] 選項之後,您可以在文字方塊中輸入電子郵件本文的文字。
最大長度: 64Kb文字字元集 - 指定要用於編碼所傳送電子郵件本文的字元集。 只有在選取 [ 文字] 選項時,才能使用此選項。
- 預設值: UTF-8 (65001)檔案 指定將用於傳送的電子郵件內文的檔案內容,並指定該檔案路徑。 選取 [ 檔案] 選項之後,您可以按一下省略號 (...) 按鈕來流覽至檔案。
路徑長度上限:256 個字元注意:建議在檔案共用上指定路徑,此路徑可從BizTalk Server群組中的所有 BizTalk 伺服器存取,以用於生產環境。檔案的字元集 指定正在傳送之檔案的字元集編碼。 注意: SMTP 配接器不會將指定的編碼套用至檔案。 此選項只用於指定正在傳送之檔案是如何已經編碼。
只有在選取 [ 檔案] 選項時,才能使用此選項。
預設值:UTF-8 (65001)在 [ SMTP 傳輸屬性] 對話方塊的 [ 附件 ] 索引標籤上,執行下列動作:
使用 作法 剩餘的 BizTalk 訊息部分 指定如何將 BizTalk 訊息部分附加到電子郵件訊息。
選項:
- 不要附加元件
- 僅附加本文元件
- 附加所有元件
預設值:不要附加元件。加入 指定將一或多個檔案附加到電子郵件訊息。 按一下 [新增 ] 之後,您可以流覽以選取檔案,並將其新增至要附加的檔案清單。
路徑長度上限:256 個字元注意:建議您在檔案共用上指定路徑,該路徑可從BizTalk Server群組中的所有 BizTalk 伺服器存取,以用於生產環境。移除 將選取的檔案從要附加到電子郵件訊息的檔案清單移除。 在 [ SMTP 傳輸屬性] 對話方塊的 [ 處理常式覆寫 ] 索引標籤上,執行下列動作:
使用 作法 SMTP 伺服器名稱 指定傳送訊息時要使用的 SMTP 伺服器名稱。
最大長度:256 注意: 傳送埠或接收位置的 URI 不能超過 256 個字元。寄件者 (電子郵件地址) 指定要放在 SMTP 寄件者 標頭上的電子郵件地址。
最大長度:256驗證類型 指定要用於 SMTP 伺服器的驗證類型。
選項:
- (預設)
- 沒有驗證
- 基本驗證
- 進程帳戶 (NTLM)
預設值指示 SMTP 傳送埠將會使用在傳送處理常式中指定的組態值。使用者名稱 指定要用於 SMTP 伺服器驗證的使用者名稱。
如果 驗證類型 為 基本驗證,則此屬性需要值。
最小長度:00
最大長度:256密碼 指定要用於 SMTP 伺服器驗證的密碼。
如果 驗證類型 為 基本驗證,則此屬性需要值。
最小長度:00
最大長度:256再次按一下 [確定 ] 和 [ 確定 ] 以儲存設定。