本文详细介绍了如何为 OnlyOffice 配置 SMTP 邮件通知功能,涵盖通过 Web 管理界面、IIS 服务重启、配置文件编辑、Docker 环境变量注入以及配置重置等多种方法,帮助用户解决收不到注册邀请、任务提醒或密码重置邮件的问题。
在使用 OnlyOffice 协作平台过程中,若发现无法接收到系统自动发送的注册确认、任务更新或密码找回等关键邮件,通常问题根源在于 SMTP 邮件服务未正确配置。本文将系统性地介绍五种行之有效的配置方案,适用于不同部署环境和技术背景的用户。
一、通过 Web 管理后台配置 SMTP
该方法适合已成功部署并可正常访问管理控制台的 OnlyOffice 社区版或企业版用户,全程通过图形化界面操作,无需手动编辑代码,且支持实时测试验证配置效果。
1. 使用管理员账号登录 OnlyOffice 系统,点击页面右上角的用户头像,选择进入设置模块。
2. 在左侧功能菜单中,切换到集成分类,并点击其中的SMTP 设置选项。
3. 在打开的配置表单中,依次填写以下必要信息:
4. 在主机输入框中填写您的 SMTP 服务器地址,例如 smtp.gmail.com 或 smtp.yandex.ru;
5. 在端口栏位输入对应的通信端口,建议优先选择 587(支持 STARTTLS 加密)或 465(SSL 加密);
6. 勾选身份验证复选框,并在主机登录字段中输入完整的发信邮箱地址,如 alerts@company.com;
7. 在主机密码栏中务必填入该邮箱生成的应用专用密码(注意:不是常规登录密码,主流邮箱服务商如 Gmail、Yandex、Mail.ru 均需单独创建);
8. 在发件人显示名称处填写希望收件人看到的发送方名称,例如 OnlyOffice 通知中心;
9. 在发件人电子邮件地址中再次填写与登录账号一致的邮箱地址,确保一致性;
10. 根据所选端口决定是否启用加密选项:使用端口 465 时必须勾选启用SSL;若使用 587 端口,则应勾选启用 STARTTLS(某些版本可能显示为“启用 TLS”);
11. 点击发送测试邮件按钮,观察目标邮箱是否能在 1 分钟内收到标题为“SMTP 测试消息”的验证邮件;
12. 测试成功后,点击保存按钮,并务必执行后续的应用程序池重启操作(详见方法二),以确保新配置生效。
二、通过 IIS 重启应用程序池激活配置
仅完成 Web 界面上的 SMTP 参数设置并不能立即启用邮件功能,必须重启承载 OnlyOffice 的 IIS 应用程序池,否则系统仍会沿用旧配置或默认空值。
1. 按下键盘组合键 Win + R,在运行对话框中输入 inetmgr,回车后打开 Internet 信息服务(IIS)管理器;
2. 在左侧连接面板中,展开服务器节点,点击应用程序池目录;
3. 在右侧列表中查找名称包含 ONLYOFFICE 或 CommunityServer 的池(常见命名为 ONLYOFFICE Server);
4. 右键单击该应用程序池,先选择停止,等待其状态变为“已停止”后,再次右键并选择启动;
5. 若当前浏览器已打开 OnlyOffice 页面,请执行强制刷新(Ctrl + F5),以清除缓存并加载最新的服务上下文。
三、直接修改 web.appsettings.config 配置文件
当 Web 管理界面因登录异常、页面加载失败或服务器错误(如 500 错误)而无法访问时,可通过直接编辑底层配置文件的方式强制写入 SMTP 参数,此方式跳过前端验证逻辑,具有更高优先级。
1. 以管理员身份打开文件资源管理器,导航至安装路径:
C:\Program Files (x86)\Ascensio System SIA\CommunityServer\WebStudio\;
2. 使用记事本或 VS Code 等文本编辑器打开 web.appsettings.config 文件;
3. 搜索类似 <add key=”mail.smtp.host” value=”” /> 的 XML 配置项;
4. 在 <appSettings> 节点内,按顺序补充或更新以下六项关键配置(如不存在则新增):
5. <add key=”mail.smtp.host” value=”smtp.gmail.com” />;
6. <add key=”mail.smtp.port” value=”587″ />;
7. <add key=”mail.smtp.auth” value=”true” />;
8. <add key=”mail.smtp.username” value=”alerts@company.com” />;
9. <add key=”mail.smtp.password” value=”app_specific_password_here” />;
10. <add key=”mail.smtp.starttls.enable” value=”true” />;
11. 保存修改后的文件,随后必须按照方法二完整流程重启 IIS 应用程序池;
12. 重启完成后,访问 http://localhost/Management.aspx?type=17,点击重置编辑器连接设置按钮,同步刷新内部服务注册信息。
四、通过 Docker 环境变量配置 SMTP(适用于容器化部署)
对于采用 Docker 或 docker-compose 方式部署的 OnlyOffice 实例,推荐通过环境变量方式注入 SMTP 参数,这样可避免容器重建时配置丢失,符合现代云原生架构的最佳实践。
1. 进入项目部署目录,打开 docker-compose.yml 配置文件;
2. 定位到 communityserver 服务定义部分,在其下的 environment: 区域添加如下六行环境变量:
3. – MAIL_SMTP_HOST=smtp.mailgun.org;
4. – MAIL_SMTP_PORT=587;
5. – MAIL_SMTP_AUTH=true;
6. – MAIL_SMTP_USERNAME=postmaster@yourdomain.com;
7. – MAIL_SMTP_PASSWORD=your_mailgun_api_key;
8. – MAIL_SMTP_STARTTLS_ENABLE=true;
9. 保存文件后,在终端中执行命令:docker-compose down && docker-compose up -d;
10. 等待容器完全启动(通常约需 90 秒),然后访问任意用户的个人设置页面,尝试触发一次密码重置操作,验证邮件是否能成功送达。
五、恢复默认配置并逐步重新校准
当多次尝试配置仍无效,或怀疑存在参数冲突导致服务异常时,可采取“重置—验证—重建”策略,先恢复系统初始状态,再逐项添加参数进行排查。
1. 登录 OnlyOffice 管理员后台,进入集成 → SMTP 设置页面;
2. 滚动至页面底部,点击默认设置按钮(此操作将清空所有 SMTP 相关字段,包括主机、端口、账号和密码);
3. 点击保存,随后立即执行方法二中所述的应用程序池重启流程;
4. 重启完成后,返回 SMTP 设置页面,仅填写主机和端口两项基本信息(如 smtp.gmail.com 和 587),其余字段暂时留空;
5. 点击发送测试邮件,观察系统反应:若能发送,说明网络连通正常;若提示“认证失败”等错误,则表明问题出在身份验证环节;
6. 在确认基础连接无异常后,再依次补充身份验证、用户名、应用密码等高级参数,每完成一步保存后立即进行测试,以便精准定位故障点。

