SharePoint 配置传出电子邮件设置
1. 环境参数说明
A) Windows Server 2012 R2
B) SharePoint 2016
C) 第三方邮件服务器(smtp.3th.com - 有负载均衡,即对应多个IP服务器)
D) 有现成域名:space.self.com - 对应IP 10.1.1.1
2. 背景说明
SMTP 中继服务,顾名思义:只是接收到邮件后传递给第三方邮件服务器,可以理解为一个邮件代理的作用;
为什么要使用 SMTP 中继服务?
答:SharePoint 在配置邮件服务时,只能配置【邮件发送人】,不能配置【邮件发送人的密码】;因此,如果要通过配置来使用 SharePoint 的邮件功能,只能是:
A) 采用集成 Windows 认证的SMTP服务器(如 Exchange)
B) SMTP 服务器可以接收不需要验证【邮件发送者密码】的发送服务;
我们是要连接第三方邮件服务器,所以只能寻找第二种方案;
3. 搭建 SMTP 中继服务
为了节省篇幅,直击主题;对于一般的操作,这里就不再赘述;
A) 安装 IIS 6 管理兼容工具(这是使用 Windows SMTP 必须的管理工具,新版本的 IIS 中已经没有这个功能)

B) 安装 SMTP 服务(同时安装 Telnet 客户端功能,以便后续测试)

C) 在Windows 的管理工具中找到 IIS 6 兼容管理工具并双击打开

D) 右键 [SMTP Virtual Server #1] ,点击属性开始配置

E) 配置不需要身份验证即可访问控制 SMTP 服务

F) 配置允许那些 IP 可以匿名连接 SMTP 服务(这个很重要:不要让自己的SMTP服务被作为肉鸡发垃圾邮件)

G) 根据需要配置邮件容量限制(如果没配置成根据自己的场景需要,可能会导致邮件发不出)

H) 配置传递的出站安全
这里所使用的用户名和密码即为【发送者邮件地址】和【发送者密码】
这个用户名必须与后续在 SharePoint 中配置的传出邮件的发送地址一致;

I) 配置出站连接(即我们要连接的第三方 SMTP 服务器)
完全限定域名:自己定义的 SMTP 域名(需要能被正确的解析到IP,从本文来看,只需要能被 SharePoint 服务器解析到即可,所以可以在一个 DNS 的 A记录,或者直接使用内网的机器名)
智能主机:填入第三方 SMTP 服务器的域名(如:smtp.gmail.com)

J) 打开 services.msc 工具,查看 SMTP 服务是否处于运行状态,并将其设置为”自动“启动;

至此,我们已经完成了 SMTP 中继服务的配置;
有一个奇怪的现象要注意:重新打开 IIS 6 工具进行配置时,会发现刚才的配置有的被恢复为默认值(如:出站安全被设置为 匿名访问、连接数限制被置为 0 等等);
这种情况不需要理会,但如重新编辑了上述配置的任何一项,则需要全部检查一遍,并配置正确过来(这里真是泪水的经历)
4. SharePoint 配置传出电子邮件设置
最后的步骤进没什么悬念了,上图;

* 这里只说明了传出电子邮件的配置,所以上图中的【答复地址】就没什么意义了;
如要答复,则要 POP3服务才能支持 (BTW, Windows 的后续服务器版本已经没有 POP3 的组件功能了,需要其他第三方服务支持)
SharePoint 配置传出电子邮件设置的更多相关文章
- 【HOW】如何配置SharePoint传入/传出电子邮件设置
SharePoint 2010的传入和传出邮件配置选项都较简单,但由于需要DNS及Exchange等服务器互相配合,所以要正确配置并不容易. 在微软的官方文档中详细说明了配置步骤:配置传入电子邮件:h ...
- 基于Windows Azure 搭建基于SharePoint 2010 Intranet、Extranet、Internet (4): 配置传出邮件服务: 使用 outlook.com 发送邮件通知
前几篇文章,已经安装了SharePoint 2010,今天将演示如何配置传出邮件.由于某些原因,企业可能没有安装自己邮件服务器,此时我们可以使用公共的邮箱服务来发送邮件通知,比如outlook.com ...
- SharePoint配置网站集的审核设置
配置网站集的审核设置 您可以使用 Microsoft SharePoint Server 2010 的审核功能来跟踪哪些用户对网站集的网站.内容类型.列表.库.列表项和库文件执行了哪些操作.了解谁对哪 ...
- IPMI 配置BMC用户设置
IPMI 配置BMC用户设置 本文档共介绍5条ipmi设置user的命令,这些命令需要使用root权限才能使用,其中- H为需要操作的BMC ip,-I lanplus为使用rmcp+协议发送命令,- ...
- (转)通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证
通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证 说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示危及应用 ...
- 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。
场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...
- springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用
log4j 就是log for java嘛,老外都喜欢这样子,比如那个I18n ---internationalization 不就是i和n之间有18个字母... http://logging.a ...
- Confluence 6 配置 HTTP 超时设置
当宏,例如 RSS Macro 进行 HTTP 请求的时候,有可能因为请求的时间比较长,而导致超时.你可以通过设置系统参数来避免这个问题. 配置 HTTP 超时设置: 在屏幕的右上角单击 控制台按钮 ...
- Sourcetree报错: 您没有已经配置扩展集成设置的远端
一.错误提示 您没有已经配置扩展集成设置的远端; ... 二.解决 配置 Legacy Account Settings 即可:
随机推荐
- swift 运算符快速学习(建议懂OC或者C语言的伙伴学习参考)
昨晚看了swift 的运算符的知识点,先大概说一下,这个点和 c 或者oc 的算运符知识点一样,都是最基础最基础的.其他的最基本的加减乘除就不多说了.注意的有几点点..先说求余数运算: 一 :求余数运 ...
- java udp (使用类调用双通信)1
项目需要就使用了UDP通信,做了java的双方通信,其实代码还是来自之前的udp学习代码,自己加了注释,并且优化的使用类来封装关于通信类库的使用代码 目的是为了在安卓项目中使用时,可以通过实例化,调用 ...
- java中静态代码块,构造代码块,以及构造方法的执行顺序
写了许久的代码,却把一些基础的东西都给忘了,今天无聊就顺手写了个,然后测试下,发现跟我记忆中的竟然有些出入,作为一个两年的开发,我感觉自己很失败啊. 父类pojo: public class Pojo ...
- Spring DM所提供的Bundle监听接口OsgiBundleApplicationContextListener
通过使用Spring DM提供的监听接口,我们可以更好的对服务进行管控,其实该接口也非常简单就能使用上,只要自定义一个类实现OsgiBundleApplicationContextListener接口 ...
- 在GlassFish应用服务器上创建并运行你的第一个Restful Web Service【翻译】
前言 本人一直开发Android应用,目前Android就业形势恶劣,甚至会一路下滑,因此决定学习服务器开发.采用的语言是java,IDE是Intellij,在下载Intellij的同时看到官网很多优 ...
- BZOJ 1095: [ZJOI2007]Hide 捉迷藏(线段树维护括号序列)
这个嘛= =链剖貌似可行,不过好像代码长度很长,懒得打(其实是自己太弱了QAQ)百度了一下才知道有一种高大上的叫括号序列的东西= = 岛娘真是太厉害了,先丢链接:http://www.shuizilo ...
- linux下基于rsync + find命令实现文件同步机制
rsync和find是linux系统自带的命令,如果没有安装可以找到系统安装盘或者ISO文件,里面有rpm包,安装一下就可以了. 具体思路如下: 1)可以实现定时进 ...
- SQL SERVER的事务日志
1 基本介绍 每个数据库都具有事务日志,用于记录所有事物以及每个事物对数据库所作的操作. 日志的记录形式需要根据数据库的恢复模式来确定,数据库恢复模式有三种: 完整模式,完全记录事物日志,需要定期进行 ...
- setTimeout的妙用2——防止循环超时
上个周日,介绍了如何使用setTimeout代替setInterval进行间歇调用,这个周日,继续来讲<JavaScript高级程序设计>这本书里面,对于setTimeout的另一种妙用- ...
- thinkphp apicloud 下拉刷新 。。。由于新人里面导入了vue.js
//刷新 apiready = function(){ var count; var i= 1; var param = {}; toDoRequest(); param.loadingImgae = ...