配置外部簡易郵件傳輸協定(SMTP)伺服器的網路選項。
<configuration>
<system.net>
<mailSettings>
<smtp>
<network>
語法
<network
clientDomain="string"
defaultCredentials="true|false"
enableSsl="true|false"
host="string"
password="string"
port="integer"
targetName="string"
userName="string"
/>
屬性和項目
下列章節說明屬性、子元素和父元素。
Attributes
| Attribute | Description |
|---|---|
clientDomain |
指定在初始 SMTP 協定請求中用於連接 SMTP 郵件伺服器的用戶端網域名稱。 預設值為發送請求的本地電腦的本地主機名稱。 |
defaultCredentials |
規定是否應使用預設使用者憑證來存取 SMTP 郵件伺服器進行 SMTP 交易。 預設值是 false。 |
enableSsl |
規定是否使用 SSL 來存取 SMTP 郵件伺服器。 預設值是 false。 |
host |
指定用於 SMTP 交易的 SMTP 郵件伺服器主機名稱。 此屬性沒有預設值。 |
password |
指定用於 SMTP 郵件伺服器認證的密碼。 此屬性沒有預設值。 |
port |
指定連接至 SMTP 郵件伺服器的埠號。 預設值為 25。 |
targetName |
指定用於 SMTP 交易擴展保護時用於認證的服務提供者名稱(SPN)。 此屬性沒有預設值。 |
userName |
指定用於 SMTP 郵件伺服器認證的使用者名稱。 此屬性沒有預設值。 |
子元素
沒有。
父項目
| 元素 | Description |
|---|---|
| <smtp> 元素(網路設定) | 配置簡易郵件傳輸協定(SMTP)郵件發送選項。 |
備註
有些 SMTP 伺服器要求你在使用前先向伺服器進行驗證。 如果你想用主機上的預設網路憑證來驗證自己,請將屬性設 defaultCredentials 為 true。
SmtpNetworkElement.DefaultCredentials此屬性可用來從適用的設定檔取得該屬性的defaultCredentials當前值。
你也可以使用基本認證(使用者名稱和密碼)來向 SMTP 伺服器驗證自己。 使用此選項時,您必須指定指定的 SMTP 伺服器有效使用者名稱與密碼。
備註
基本認證會 userName 將 和 password 的值以未加密的方式傳送到伺服器。 任何監控網路流量的人都能查看你的憑證並用它們連接伺服器。 你應該考慮使用更安全的認證機制,例如 Kerberos 或 NT LAN Manager(NTLM)。若 defaultCredentials , true則會使用 Kerberos 或 NTLM,且伺服器支援這些協定。
基本的認證與預設網路憑證選項是互斥的;如果你設定 defaultCredentials 並 true 指定使用者名稱和密碼,則會使用預設的網路憑證,而基本的認證資料會被忽略。
在基本認證時,如果你指定 , userName也應該指定 a password 來自己向郵件伺服器進行認證。
SmtpNetworkElement.UserName此屬性可用來從適用的設定檔取得該屬性的userName當前值。
SmtpNetworkElement.Password此屬性可用來從適用的設定檔取得該屬性的password當前值。
password出於安全考量,屬性通常不會在設定檔中輸入。
屬性 clientDomain 會將初始 SMTP 協定請求中使用的用戶端網域名稱變更為 SMTP 伺服器。
clientDomain屬性可設定為本地機器的完整限定網域名稱,而非預設使用的 localhost 名稱。 這有助於更符合 SMTP 協定標準。 預設值為發送請求的本地電腦的本地主機名稱。
SmtpNetworkElement.ClientDomain此屬性可用來從適用的設定檔取得該屬性的clientDomain當前值。
targetName該屬性用於使用擴展保護時的認證。 預設值為「SMTPSVC/<host>」形式,其中 <host> 是 SMTP 郵件伺服器的主機名稱。
SmtpNetworkElement.TargetName此屬性可用來從適用的設定檔取得該屬性的targetName當前值。
屬性 enableSsl 指定是否使用 SSL 來存取 SMTP 郵件伺服器。 該 System.Net.Mail.SmtpClient 類別僅支援 RFC 3207 定義的 SMTP 服務擴展,用於傳輸層安全性。 在此模式下,SMTP 會話從未加密的通道開始,然後用戶端向伺服器發出 STARTTLS 指令,切換至 SSL 的安全通訊。 更多資訊請參閱網際網路工程任務組(IETF)發布的 RFC 3207。
另一種連線方式是在傳送任何協定指令前,先建立 SSL 會話。 這種連接方式有時稱為 SMTPS,預設使用 465 埠。 目前不支援這種使用 SSL 的替代連線方式。
SmtpNetworkElement.EnableSsl此屬性可用來從適用的設定檔取得該屬性的enableSsl當前值。
Example
以下範例指定了使用預設網路憑證發送電子郵件所需的適當 SMTP 參數。
<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network
clientDomain="www.contoso.com"
defaultCredentials="true"
enableSsl="false"
host="mail.contoso.com"
port="25"
/>
</smtp>
</mailSettings>
</system.net>
</configuration>