默认情况下未安装 SMTP 服务器。在 Windows Server® 2008 中,可以通过“服务器管理器”工具的“功能摘要”区域添加 SMTP
电子邮件配置设置由 System.Net.Mail 命名空间中的类使用。ASP.NET 应用程序必须使用此命名空间,才能使这些配置设置生效。
先决条件
为 Web 应用程序配置 SMTP 电子邮件
您可以通过以下方法执行此过程:使用用户界面 (UI)、在命令行窗口中运行 Appcmd.exe 命令、直接编辑配置文件或编写 WMI 脚本。
用户界面
-
打开 IIS 管理器,然后导航至您要管理的级别。有关如何打开 IIS 管理器的信息,请参阅 IIS 7.0:打开 IIS 管理器。有关如何在 UI 的各个位置间进行导航的信息,请参阅 IIS 7.0:在 IIS 管理器中导航。
-
在“功能视图”中,双击“SMTP 电子邮件”。
-
在“SMTP 电子邮件”页面中的“电子邮件地址”文本框中,键入发件人的电子邮件地址。
-
在“SMTP 电子邮件”页面中,选择以下传送方法之一:
- 将电子邮件传送至 SMTP 服务器:用于立即传送电子邮件。这需要可正常运行的 SMTP 服务器并且用户需具有可用来访问此服务器的凭据。
- 在选取目录中存储电子邮件:用于将电子邮件存储在磁盘上的某个文件位置,以便将来由应用程序(如 ASP.NET 应用程序)或由用户(如管理员)传送。
- 将电子邮件传送至 SMTP 服务器:用于立即传送电子邮件。这需要可正常运行的 SMTP 服务器并且用户需具有可用来访问此服务器的凭据。
-
如果选择“将电子邮件传送至 SMTP 服务器”,请执行以下操作:
- 在“SMTP 服务器”文本框中键入 SMTP 服务器的唯一名称,或选中“使用 Localhost”框以将此名称设置为 LocalHost。将此名称设置为 LocalHost 意味着 ASP.NET 将使用本地计算机上的 SMTP 服务器。通常,这是默认的 SMTP 虚拟服务器。
- 在“端口”文本框中输入 TCP 端口。端口 25 是 SMTP 标准 TCP 端口,并且是默认设置。多个虚拟服务器可以使用同一 TCP 端口,条件是所有服务器都是使用不同 IP 地址配置的。
- 如果您的 SMTP 服务器需要身份验证模式和凭据,请在“身份验证设置”下指定这些内容。
- 在“SMTP 服务器”文本框中键入 SMTP 服务器的唯一名称,或选中“使用 Localhost”框以将此名称设置为 LocalHost。将此名称设置为 LocalHost 意味着 ASP.NET 将使用本地计算机上的 SMTP 服务器。通常,这是默认的 SMTP 虚拟服务器。
-
如果选中了“在选取目录中存储电子邮件”,请在“在选取目录中存储电子邮件”文本框中键入批处理电子邮件位置。
-
在“操作”窗格中,单击“应用”。
命令行
立即传送电子邮件
若要将 SMTP 电子邮件配置为立即传送电子邮件,请使用下面的语法:
appcmd set config /commit:WEBROOT /section:smtp /from: string /deliveryMethod:network /network.port: int /network.defaultCredentials:True|False /network.host:string /network.userName:string /network.password:string
变量 from string 是发件人的电子邮件地址。变量 /deliveryMethod:network 用于将 IIS 配置为立即传送电子邮件。变量 /network.port int 用于设置 IIS 用来传送电子邮件的 TCP 端口。变量 /network.host string 指定用于 SMTP 事务的主机。变量 network.defaultCredentials:True|False 用于启用或禁用使用默认网络凭据的身份验证。如果 defaultCredentials 设置为 True,并且服务器支持 Kerberos 或 NTLM 协议,将使用这些协议。变量 network.userName:string 和 network. password:string 用于设置基本身份验证用户名和密码。
存储电子邮件以便以后传送
若要将 SMTP 电子邮件配置为将电子邮件存储在磁盘上的某个文件位置以便将来由应用程序(如 ASP.NET 应用程序)或由用户(如管理员)传送,请使用下面的语法:
appcmd set config /commit:WEBROOT /section:smtp /from: string /deliveryMethod:PickupDirectoryFromIis|SpecifiedPickupDirectory /SpecifiedPickupDirectory:string
变量 from string 是发件人的电子邮件地址。变量 /deliveryMethod:PickupDirectoryFromIis|SpecifiedPickupDirectory 将 IIS 配置为将电子邮件存储在磁盘上的某个文件位置以便以后传送。变量 /SpecifiedPickupDirectory string 用于设置磁盘上的文件位置,此位置用于存储电子邮件以便以后传送。
备注 |
---|
在 IIS 7 中使用 Appcmd.exe 在全局级别配置 <mailSettings> 元素时,必须在命令中指定 /commit:WEBROOT,以便对根 Web.config 文件而不是对 ApplicationHost.config 进行配置更改。 |
有关 Appcmd.exe 的详细信息,请参阅 IIS 7.0:Appcmd.exe。
配置
WMI
请使用以下 WMI 类、方法或属性执行此过程:
- SmtpMailSettingsSection