如何在Windows Server 2015/2012 R2上安装和配置SMTP服务器?
我们可以在所有版本的Windows Server中使用内置工具安装SMTP服务器。此SMTP服务器可以用作邮件中继服务,该服务应该从组织中的各种设备(例如,发件人,扫描程序,访问控制设备等)和应用程序(Web应用程序,SQL Reporting Services,SharePoint)接收和发送SMTP电子邮件。 ,应该可以使用SMTP协议发送邮件。这样的中继可以将邮件发送到Exchange服务器或者Gmail,Yahoo,Office 365(outlook.com)等公共电子邮件服务。(因为并非总是建议部署基于Microsoft的功能齐全的内部电子邮件基础结构Exchange Server或者其他电子邮件服务)。
在本文中,我们很好地展示了如何在Windows Server 2012 R2、2015和2019上作为邮件中继安装,配置和测试SMTP服务器。此SMTP服务器只能发送或者转发电子邮件,并且上面没有用户邮箱。
如何在Windows Server 2015/2012 R2上安装SMTP服务?
SMTP服务是Windows Server的内置功能之一,可以通过服务器管理器安装。为此,请打开"服务器管理器"仪表板(servermanager.exe),转到"添加角色和功能",然后在选择要安装的功能时检查" SMTP服务器"。要管理SMTP服务,请安装管理控制台,该控制台是Web服务器(IIS)角色的一部分,因此系统将提示我们安装某些IIS组件。
保留所有建议的Web服务器(IIS)角色选项,然后运行安装。
我们还可以使用PowerShell命令安装SMTP服务器角色:
Install-WindowsFeature smtp-server
安装组件后,我们可能需要重新启动服务器。
在Windows Server上配置SMTP服务器
仍然使用旧的学校管理控制台" Internet信息服务(IIS)管理器6"来管理SMTP服务器。我们可以从服务器管理器中打开此控制台:工具-> Internet信息服务(IIS)6.0管理器或者使用inetmgr6.exe命令。
在IIS 6管理器中使用服务器名称扩展分支,右键单击" SMTP虚拟服务器"并打开其属性。
如果需要,在"常规"选项卡上,选择SMTP服务器应在其上响应的IP地址(如果该服务器具有多个IP地址),然后选中"启用日志记录"选项(以便将有关所有接收到的电子邮件的信息保存到文本日志文件)。
然后转到"访问"选项卡。
在这里单击"身份验证"按钮,并确保启用了"匿名访问"。
返回"访问"标签,然后单击"连接"按钮。在这里,我们可以指定允许通过SMTP中继发送电子邮件的设备的IP地址。为此,请检查"仅以下列表"并指定IP地址(子网)列表,不要忘了自己(127.0.0.1)。
以相同的方式配置中继设置中允许的IP列表(单击相应的按钮)。本部分指示可以通过SMTP服务器中继电子邮件的IP地址(或者子网)。
注意通常,值得检查此选项并使用IP地址范围限制可接受设备的列表。否则,垃圾邮件发送者和其他攻击者可能会将SMTP服务器用作群发邮件的开放中继。
转到"消息"标签。此处指定了管理电子邮件地址,所有NDR邮件的副本都将发送到该电子邮件地址(将"未送达报告"的副本发送到:)。我们还可以在此处指定对最大邮件大小(邮件大小上限)和最大收件人数(每封邮件的收件人数限制)的限制。
转到投放标签。
然后点击"出站安全性"。在这里,我们可以指定SMTP服务器向其发送(中继)所有电子邮件的外部邮件服务器上的身份验证方式。例如,如果所有电子邮件都将转发到Gmail邮件服务器,然后发送给收件人,则我们需要检查"基本身份验证"并指定Gmail邮箱凭据(我们必须在Google帐户设置中允许通过Gmail SMTP发送电子邮件)。
然后单击"高级"。
在这里,我们可以指定SMTP服务器的" FQDN"名称。点击"检查DNS"按钮以确保DNS记录有效。
如果服务器将邮件发送到外部SMTP服务器,请在"智能主机"字段中指定其名称(例如," smtp.gmail.com"或者" smtp.office365.com")。
某些公共邮件服务器仅在使用通过TLS加密(TCP端口587)的安全SMTP连接时才接受电子邮件。我们可以在"交付"->"出站安全性"和"出站连接"部分中配置此设置。阅读电子邮件提供商的文档。
保存SMTP服务器设置,然后重新启动SMTP虚拟服务使更改生效。
注意。
- 从电子邮件系统运行状况的角度来看,DNS设置至关重要。如果SMTP服务器无法正确解析尝试向其发送电子邮件的域的DNS名称,则传递将失败。
- 如果服务器将邮件发送到其他域,则重要的是为IP地址创建正确的PTR记录,以便解决反向DNS查找。公共IP地址的PTR记录应指向服务器FQDN名称。否则,大多数外部SMTP服务器都不会接受电子邮件,因为服务器是垃圾邮件发送者。
SMTPSVC服务自动启动
仍然需要在Windows Server上配置SMTP服务的自动启动。我们可以使用PowerShell命令提示符快速完成此操作:
set-service smtpsvc -StartupType Automatic
启动服务:
start-service smtpsvc
确保SMTPSVC服务正在运行:
get-service smtpsvc
状态名称DisplayName-运行smtpsvc简单邮件传输协议(SMTP)
在Windows上测试SMTP服务器
我们要做的最后一件事是确保SMTP服务器正常运行。通过在桌面上创建纯文本文件" smtp-test-email.txt"并将以下文本复制到其中,可以更轻松地完成此操作。不要忘记将发件人和收件人的名称更改为名字。
From: [email protected] To: [email protected] Subject: Email test This is the test email
将文件smtp-test-email.txt复制到C:\ inetpub \ mailroot \ Pickup文件夹中。 Windows SMTP服务器监视出现在此文件夹中的新文件,如果找到了文件,它将读取其中的内容,并尝试将包含给定主题和正文的电子邮件发送给"To:"行中指定的收件人。
检查收件人邮箱,我们将看到此电子邮件。
提示。我们可以使用telnet命令,VBS脚本或者PowerShell测试SMTP服务器:
Send-MailMessage -SMTPServer localhost -To [email protected] -From [email protected] -Subject "Email test" -Body "This is the test email from PowerShell"
如果我们启用了"基本身份验证"来对所有SMTP客户端进行身份验证(而不是匿名身份验证),则可以通过telnet通过smtp身份验证发送电子邮件,如下所示。
另外,请确保本地防火墙或者防病毒软件未在SMTP服务器上阻止TCP 25端口。最简单的方法是从一台基于Windows的计算机上,该计算机的IP地址已添加到允许的连接列表中。使用Test-NetConnection cmdlet检查端口25的可用性:
Test-NetConnection smtprelay.theitroad.local –port 25
如果端口25被阻止,请检查Windows防火墙,防病毒和硬件防火墙的设置。
因此,我们已在Windows Server 2015/2012 R2上配置了自己的SMTP邮件中继,并测试了通过它发送电子邮件。