windows2016安装smtp

老刘

Windows Server 2016 安装 SMTP 服务器完整教程

很多做网站、内部系统或者应用开发的朋友,经常会碰到需要服务器自己发邮件的情况。比如网站注册验证码、系统报警通知、定时任务邮件这些,如果每次都去对接第三方邮件接口,既麻烦又可能产生额外费用。Windows Server 2016 自带了 SMTP 服务器功能,装好之后可以直接当邮件中继用,配置起来也不复杂。

下面把安装和配置的全过程从头到尾讲清楚,适合第一次接触的小白一步步跟着操作。

一、安装前需要确认的几件事

先确认你的系统是 Windows Server 2016(带桌面体验的版本最方便操作)。
服务器最好有一个固定 IP,方便后面做中继限制。
确保你有管理员权限登录。
如果服务器在云上,记得提前在安全组里放行 25 端口(有些云厂商默认屏蔽 25 端口,需要额外申请或改用 587)。

二、图形界面安装 SMTP 服务器

  1. 打开服务器管理器。可以在开始菜单直接搜索“服务器管理器”,或者右键开始按钮选择它。

  2. 在仪表板右上角点“管理”,再点“添加角色和功能”。

  3. 出现向导后,直接点“下一步”,直到“安装类型”这一页,选“基于角色或基于功能的安装”,继续下一步。

  4. 选择目标服务器,一般默认就是本机,直接下一步。

  5. 到“服务器角色”页面时不用勾选任何东西,直接点下一步进入“功能”页面。

  6. 在功能列表里找到“SMTP 服务器”,勾选它。系统会弹出提示,要求同时安装一些 IIS 相关组件和 IIS 6 管理兼容性工具,点“添加功能”确认。

  7. 继续下一步,遇到 Web 服务器(IIS)相关页面时,保持默认即可,一路点到“确认”页面,勾选“如果需要,自动重新启动目标服务器”,然后点“安装”。

  8. 安装完成后点“关闭”。一般情况下不需要强制重启,但建议重启一次确保服务正常加载。

三、用 PowerShell 快速安装(更适合进阶用户)

如果不想点来点去,直接以管理员身份打开 PowerShell,输入下面这条命令:

Install-WindowsFeature -Name SMTP-Server -IncludeManagementTools

执行完后可以用这条命令确认是否装好:

Get-WindowsFeature SMTP-Server

看到“Installed”就说明成功了。

四、配置 SMTP 虚拟服务器

安装只是第一步,真正能用还得配置。SMTP 服务其实还是用的老版 IIS 6 的管理界面。

  1. 打开“Internet Information Services (IIS) 6.0 管理器”。可以直接在开始菜单搜索“IIS 6.0 管理器”,或者运行 inetmgr6.exe

  2. 展开左边服务器名称,会看到“[SMTP 虚拟服务器 #1]”。右键点它,选择“属性”。

  3. 常规选项卡
    如果服务器有多个 IP,可以指定只监听某一个 IP。建议勾选“启用日志记录”,方便以后排查问题。

  4. 访问选项卡(最重要的安全设置)

    • 点“身份验证”,一般保持“匿名访问”勾选即可(内部中继场景最常用)。
    • 点“连接”,可以选择“仅以下列表”并添加允许连接的 IP,或者先保持默认。
    • 点“中继”,这里一定要认真设置。推荐选“仅以下列表”,然后添加本机 IP(127.0.0.1)和需要发邮件的应用服务器 IP。千万不要选“全部”,否则很容易变成开放中继被别人滥用发垃圾邮件。
  5. 消息选项卡
    可以设置单封邮件大小限制(默认 2048 KB,可根据需要调整)、每封邮件最多收件人数等。

  6. 传递选项卡

    • 出站安全性:如果要通过外部邮箱(比如企业邮箱、Office 365、Gmail)转发,就选“基本身份验证”,填上账号密码。
    • 出站连接:默认端口 25,如果对方要求 587 就改这里。
    • 高级:填写本机的完整域名(FQDN),并点“检查 DNS”确认解析正常。如果只是内部中继,也可以在“智能主机”里填上游邮件服务器地址。

配置完点“确定”保存。

五、设置服务开机自启并启动

打开“服务”(services.msc),找到“Simple Mail Transfer Protocol (SMTP)”,双击它,启动类型改成“自动”,然后点“启动”。

也可以用 PowerShell 一条命令搞定:

Set-Service SMTPSVC -StartupType Automatic
Start-Service SMTPSVC

六、防火墙放行端口

打开“高级安全 Windows 防火墙”,新建入站规则,选择端口,TCP 25,允许连接。如果用了 587,也一并放行。

七、简单测试是否能发信

在 PowerShell 里执行下面命令测试(把收件人和发件人改成真实地址):

Send-MailMessage -From "test@yourdomain.com" -To "your@email.com" -Subject "SMTP测试" -Body "这是一封测试邮件" -SmtpServer "localhost"

如果邮箱能收到,就说明基本配置成功。也可以用 Telnet 测试:

telnet localhost 25

出现 220 开头的欢迎信息就表示服务在监听。

八、常见问题和注意事项

  • 邮件发不出去:先看 SMTP 日志(默认在 C:\Windows\System32\LogFiles\SMTPSVC1),再检查中继限制是否把自己的 IP 加进去了。
  • 被对方拒收:很多外部邮件服务商对 25 端口限制严格,建议改用 587 并开启身份验证。
  • 安全提醒:永远不要把中继设置成“允许所有”,否则服务器很容易被黑产利用。
  • 如果只是给本机程序用,把中继限制成 127.0.0.1 就足够安全。
  • Windows Server 2016 的 SMTP 功能其实基于老旧的 IIS 6 技术,功能比较基础,适合内部中继,不适合大规模对外邮件服务。正式生产环境建议配合专业邮件网关或第三方 SMTP 服务。

按照上面步骤操作,基本半小时内就能把 Windows Server 2016 的 SMTP 服务跑起来。装好之后,网站、程序、监控系统都可以直接把邮件丢给它转发,省事又好用。

文章版权声明:文章内容均来源于各大短视频平台搜集以及修改和删减新增,如有侵权或者违规,请联系站长进行删除,如需转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,1人围观)

还没有评论,来说两句吧...

目录[+]