SharePoint 2010的传入和传出邮件配置选项都较简单,但由于需要DNS及Exchange等服务器互相配合,所以要正确配置并不容易。
在微软的官方文档中详细说明了配置步骤:
配置传入电子邮件:http://technet.microsoft.com/zh-cn/library/cc287879(v=office.14).aspx
配置传出电子邮件:http://technet.microsoft.com/zh-cn/library/cc288949(v=office.14).aspx
但官方文档的说明有些零乱,有些地方甚至有些误导(比如关于传入电子邮件设置中的“高级”模式)。下面就本人设置的步骤及遇到的问题进行说明。
【环境信息】
▥ 服务器OS:Windows 2008 R2
▥ SharePoint版本:SharePoint Server 2010 企业版
▥ SharePoint服务器已具有可用的域名(已配置A记录)
【安装配置SMTP服务】
由于传出/传出电子邮件都设计SMTP服务的配置,所以先对其进行说明。Windows Server SMTP配置界面很简单,但在实际操作中很难配好,需要进行多次尝试。下面仅将本人的配置列出:
1)安装配置SMTP服务。(可参考前述官方文档进行。)
2)选中SMTP虚拟服务器名称(下图中为“SMTP邮件服务”)下的域,确认域名是否为SharePoint服务器的域名。若不同,可右键单击右侧面板中现有域名进行“重命名”。
3)右键单击SMTP虚拟服务器名称,选择“属性”则弹出如下界面:
其中,
- 常规 — 保持缺省值。如果需要,可选中“启动日志记录”。
- 访问 — 确认在“身份认证”窗口中选择“匿名访问”(其他两个选项不选中)。“连接”窗口中选择“以下列表除外”。“中继限制”中选中“以下列表除外”及“不管上表中如何设置,所有通过身份验证的计算机都可以进行中继(W)。”
- 邮件 — 保持缺省值。
- 传递 — “高级”页面中“完全限定的域名”填写SharePoint服务器域名。
- LDAP路由 — 保持缺省值。
- 安全 — 保持缺省值。
完成如上配置后,发现无论传入还是传出邮件均不能送达。(排查会发现邮件被滞留在C:\inetpub\mailroot\Queue及C:\inetpub\mailroot\Drop文件夹中。)
4)添加MX记录
在DNS服务器上为SharePoint服务器添加MX记录。待生效后,会发现可实现邮件收发。
问题及解决:
问题一:在完成如上设置后,如果传出邮件的发件人不是SharePoint服务器账号,传出邮件发送就会失败。为解决此问题,需要对SMTP服务做如下配置:
1. 在 SMTP虚拟服务器 > 属性 > 传递 > 出站安全 界面中选中“基本身份验证”,并填写发件人身份验证信息。
注:如果邮件发送服务器与SharePoint服务器在同一AD下,则应选择“集成Windows身份验证”以提高安全性。
2. 在 SMTP虚拟服务器 > 属性 > 传递 > 高级 界面的“智能主机”中填写发件人对应邮件服务器的SMTP地址(如:smtp.ent.com)。
问题二:如果发件人服务器做了安全设置,不允许非认证的服务器通过其发送邮件。这种情况可参考如下文章解决:
http://www.cnblogs.com/jancco/archive/2012/08/22/2650372.html
【传入电子邮件设置】
1. 完成上述的SMTP服务配置。
2. 进入 管理中心 > 系统设置 > 配置传入电子邮件设置 (注意用服务器Administrator账号登录,否则看不到此链接),如下图进行设置:
其中:
1)设置模式选择“自动”。根据微软的官方文档,如果不想在SharePoint服务器上安装SMTP服务,则可选用“高级”模式。但实际上若选择“高级”模式,则需要有某一个SharePoint服务器之外的服务自动将邮件保存到SharePoint服务器指定路径(如:c:\inetpub\mailroot\drop)的共享目录下。这显然比在SharePoint服务器上部署一个SMTP服务要复杂很多,所以如无特别的需要,均应选择“自动”模式。
2)如无特殊需要,“目录管理服务”选择“否”。
3)如果选择“自动”模式,且SharePoint服务允许外网访问的话,“传入电子邮件服务器显示地址”实际就是SharePoint服务器的域名。
4)设置“安全电子邮件服务器”要考虑Exchange服务器是否有IP地址变动的可能性,若不确定,可选择“接受来自所有电子邮件服务器的邮件”。若想防止非授权账号滥发传入邮件,可在传入邮件的接收列表或文档库中设置权限进行控制。
3. 打开接收传入电子邮件的列表或文档库,点击:列表设置(或库设置) > 传入电子邮件设置,则出现如下页面:
注意:
1)如上设置界面中填写的“电子邮件地址”一定要在SharePoint服务器上创建真实的账号,否则无法传入邮件。
2)并不是所有的文档库及列表都有“传入电子邮件设置”选项。只有下面的内容类型有此选择:
- Document, picture, or form library
- Announcements list
- Calendar list
- Discussion board
- Blog
不过这是针对Windows SharePoint Services 3.0的信息(参见:http://office.microsoft.com/en-us/sharepoint-server-help/enable-and-configure-e-mail-support-for-a-list-or-library-HA010082307.aspx),未找到最新版的官方说明。
【传出电子邮件设置】
1. 完成前述的SMTP服务配置。
2. 进入 管理中心 > 系统设置 > 配置传出电子邮件设置,如下图进行设置:
其中,
- 出站SMTP服务器 — 填写本机名称。
- 发件人地址 — 应填写有效的发件人地址。如果此地址是其他邮件服务器的地址,需注意按照前面【SMTP服务安装配置】中的“问题及解决”正确配置。
3. 完成如上设置后,进入任意网站 网站设置 > 人员和组 页面,并重复添加自己的账号(不用删除已有的),并在添加界面上选中“向新用户发送欢迎电子邮件”可验证传出邮件是否成功。