SharePoint 2013 服务器场配置传出电子邮件
参考 https://technet.microsoft.com/zh-cn/library/cc263462.aspx
https://msdn.microsoft.com/zh-cn/library/dn292550(v=bts.80)
http://www.codeproject.com/Tips/632968/How-to-send-email-in-SharePoint
为 SharePoint 2013 服务器场配置传出电子邮件
适用于: SharePoint Foundation 2013, SharePoint Server 2013
上一次修改主题: 2013-12-18
摘要:了解如何安装和配置 SMTP 服务以及如何为 SharePoint 2013 场配置传出电子邮件。
本文介绍如何为服务器场或 SharePoint 2013 的特定 Web 应用程序配置传出电子邮件。本文还介绍如何安装和配置必须用于启用传出电子邮件的 SMTP 服务。
在 安装 SharePoint 2013 并完成服务器场的初始配置之后,可以配置传出电子邮件。通过执行此操作,用户可创建警报以将网站项目作为列表、库和文档跟踪。此外,网站管理员可以接收有 关网站管理员问题的管理消息(例如网站所有者已超出其指定存储空间的信息)。有关详细信息,请参阅在 SharePoint 2013 中为 SharePoint 场规划传出电子邮件。
若要为特定的 Web 应用程序配置传出电子邮件,请先为服务器场中的所有 Web 应用程序配置默认的传出电子邮件。如果为特定的 Web 应用程序配置传出电子邮件,则该配置将替代服务器场中所有 Web 应用程序的默认配置。
重要说明: |
|---|
| 使用 Windows PowerShell 无法配置传出电子邮件。 |
本文内容:
开始此操作之前,请查看有关先决条件的以下信息:
-
您的计算机运行的是 SharePoint 2013。
-
服务器场中的一台或多台服务器正在运行简单邮件传输协议 (SMTP) 服务并且必须使用有效的 SMTP 服务器地址。或者,必须知道服务器场外运行 SMTP 服务的服务器的名称。
如果未安装和配置 SMTP 服务,则您必须先完成以下步骤,然后再配置传出电子邮件:
-
安装和配置 SMTP 服务
在可以启用传出电子邮件之前,必须确定要使用的 SMTP 服务器。此 SMTP 服务器必须配置为允许匿名的 SMTP 电子邮件提交。SMTP 服务器可以是服务器场中或服务器场外的服务器。
注意: |
|---|
| 如果您的组织不允许使用 Exchange Server 发送匿名 SMTP 电子邮件,则可以使用 SharePoint 场中接受匿名电子邮件的本地 SMTP 服务器。此本地 SMTP 服务器会自动验证这些邮件,然后将它们转发给运行 Exchange Server 的计算机。 |
若要安装 SMTP 服务,请使用服务器管理器中的“添加功能向导”。此向导会创建一个默认的 SMTP 配置。可以自定义此默认的 SMTP 配置,以满足您组织的要求。
如果已在服务器上安装 SMTP 服务,则可以跳到本文后面的配置 SMTP 服务。
安装 SMTP 服务-
请确认执行此过程的用户帐户是前端 Web 服务器上的 Administrators 组的成员。
-
单击“开始”,指向“管理工具”,然后单击“服务器管理器”。
-
在服务器管理器中,单击“功能”。
-
在“功能摘要”中,单击“添加功能”以打开“添加功能向导”。
-
在“选择功能”页上,选择“SMTP 服务器”。
-
在“添加功能向导”对话框中,单击“添加必需的滚动服务”,然后单击“下一步”。
-
在“确认安装选择”页上,单击“安装”。
-
在“安装结果”页上,确保安装已完成,然后单击“关闭”。
安装 SMTP 服务后,将该服务配置发送来自服务器场中服务器的电子邮件。
可以决定将中继电子邮件发送到所有服务器(特定排除的服务器除外)。或者,可以阻止发送到所有服务器(特定包括的服务器除外)的邮件。可以逐个加入服务器,也可以按子网或域成组地加入服务器。
如 果启用匿名访问和中继电子邮件,将会增加 SMTP 服务器用于中继商业垃圾邮件(垃圾邮件)的可能性。一定要小心地配置邮件服务器以帮助防范垃圾邮件,从而限制这种可能性。实现此目的的一种方式是限制发送 给特定的服务器或域列表的中继电子邮件,并阻止从所有其他服务器发送的中继电子邮件。
注意: |
|---|
| 若要在 Windows Server 2008 上管理 SMTP 服务,必须使用 Internet Information Services (IIS) 6.0 管理器。请确保在服务器管理器中安装了 IIS 6.0 管理工具。 |
-
请确认执行此过程的用户帐户是前端 Web 服务器上的 Administrators 组的成员。
-
单击“开始”,指向“管理工具”,然后单击“服务器管理器”。
-
在服务器管理器中,单击“角色”。
-
在“应用程序服务器”部分,单击“添加角色服务”。
-
在“选择角色服务”页上,选择“管理工具”和“IIS 6 管理兼容性”,然后单击“安装”。
测试 SMTP 服务器
可以使用 Telnet 测试 SMTP 服务器的配置。以下步骤将使用你已配置的 SMTP 服务器向一个电子邮件地址发送邮件。http://support.microsoft.com/kb/153119 提供了 telnet 命令的说明。
- 以管理员身份打开命令窗口:
Windows Server 2008 R2 :单击“开始”,然后在“搜索”文本框中输入“命令”。右键单击“命令提示符”,然后单击“以管理员身份运行”。
Windows Server 2012 :单击键盘上的 Windows 按钮。输入“命令”。在“结果”窗口中,右键单击“命令提示符”,然后单击任务栏中的“以管理员身份运行”。 - 在命令提示符下,输入:
telnet localhost 25
如果没有安装 telnet,则输入以下内容进行安装:
pkgmgr /iu:"TelnetClient" - 输入以下内容启动通信:
EHLO server - 输入“发件人”地址:
MAIL FROM:YourEmailAddress@YourProvider.com//控制面板,查看电脑域名
例如,输入:
MAIL FROM:admin@dep1.com - 输入“收件人”地址:
RCPT TO:YourEmailAddress@YourProvider.com
例如,输入:
rcpt to:1412@qq.com - 输入以下内容,以告知 SMTP 服务器您已准备好发送数据:
DATA - 输入以下内容,以输入“主题”:
Subject:Test Message - 按 Enter 两次。
- 输入以下内容,以输入邮件正文:
This is the message body of the test message. - 按 Enter,输入句点 (.),再按 Enter。
检查电子邮件的 RCPT TO 地址。如果电子邮件未送达(检查“收件箱”和“垃圾邮件”文件夹),则表示邮件发送失败,仍驻留在 SMTP 队列文件夹中 (C:\inetpub\mailroot\Queue)。
- 以管理员身份打开命令窗口:
-
请确认执行此过程的用户帐户是前端 Web 服务器上的 Administrators 组的成员。
-
单击“开始”,指向“管理工具”,然后单击“Internet 信息服务(IIS) 6.0 管理器”。
-
在 IIS 管理器 中,展开包含要配置的 SMTP 服务器的服务器名称。
-
右键单击要配置的 SMTP 虚拟服务器,然后单击“开始”。
-
右键单击要配置的 SMTP 虚拟服务器,然后单击“属性”。
-
在“访问”选项卡上的“访问控制”区域中,单击“身份验证”。
-
在“身份验证”对话框中,验证是否选中了“匿名访问”。
-
单击“确定”。
-
在“访问”选项卡上的“中继限制”区域,单击“中继”。
-
若要启用发送到任何服务器的中继电子邮件,请单击“以下列表除外”。
-
若要接受来自一个或多个特定服务器的中继电子邮件,请按照下列步骤操作:
-
单击“仅以下列表”。
-
单击“添加”,然后按 IP 地址一次添加一台服务器,或使用子网或域成组地添加服务器。
-
单击“确定”以关闭“计算机”对话框。
-
-
单击“确定”以关闭“中继限制”对话框。
-
单击“确定”以关闭“属性”对话框。
确保 SMTP 服务正在运行,并已设置为自动启动。为此,请使用下列过程。
将 SMTP 服务设置为自动启动-
单击“开始”,指向“管理工具”,然后单击“服务”。
-
在“服务”中,右键单击“简单邮件传输协议(SMTP)”,然后选择“属性”。
-
在“简单邮件传输协议(SMTP)属性”对话框中,在“常规”选项卡上的“启动类型”列表中选择“自动”。
-
单击“确定”。
您可以通过使用 SharePoint 管理中心网站为服务器场配置传出电子邮件。请使用以下过程配置传出电子邮件。在完成了以下过程后,用户可以跟踪对单独网站集的更改和更新。此外,(举例而言)网站管理员可以在用户请求访问网站时收到通知。
使用管理中心为服务器场配置传出电子邮件-
确认执行此过程的用户帐户是运行 SharePoint 管理中心网站的服务器上的 Farm Administrators 组的成员。
-
在管理中心中,单击“系统设置”。
-
在“系统设置”页上的“电子邮件和短信(SMS)”部分,单击“配置传出电子邮件设置”。
-
在“传出电子邮件设置”页上的“邮件设置”部分中,在“出站 SMTP 服务器”框中为传出电子邮件键入 SMTP 服务器名称(例如,mail.example.com)。
-
在“发件人地址”框中,键入希望对电子邮件收件人显示的电子邮件地址。
-
在“答复地址”框中,键入希望电子邮件收件人答复的电子邮件地址。
-
在“字符集”列表中,选择适合您的语言的字符集。
-
单击“确定”。
您可以通过使用管理中心网站为特定的 Web 应用程序配置传出电子邮件。请使用以下过程配置传出电子邮件。
注意: |
|---|
| 若要为特定的 Web 应用程序配置传出电子邮件,请先为服务器场中的所有 Web 应用程序配置默认的传出电子邮件。如果为特定的 Web 应用程序配置传出电子邮件,则该配置将替代服务器场中所有 Web 应用程序的默认配置。 |
使用管理中心为特定 Web 应用程序配置传出电子邮件
-
确认执行此过程的用户帐户是运行 SharePoint 管理中心网站的服务器上的 Farm Administrators 组的成员。
-
在管理中心的“应用程序管理”部分,单击“管理 Web 应用程序”。
-
在“Web 应用程序管理”页上,选择一个 Web 应用程序,然后在功能区上的“常规设置”组中单击“传出电子邮件”。
-
在“Web 应用程序传出电子邮件设置”页上的“邮件设置”部分,在“出站 SMTP 服务器”框中为传出电子邮件键入 SMTP 服务器名称(例如,mail.fabrikam.com)。
-
在“发件人地址”框中,键入希望对电子邮件收件人显示的电子邮件地址(例如,网站管理员的别名)。
-
在“答复地址”框中,键入希望电子邮件收件人答复的电子邮件地址(例如,技术支持的别名)。
-
在“字符集”列表中,单击适合您的语言的字符集。
-
单击“确定”。
//用代码发邮件,不过,经常被对方服务器拒绝
public class SMTPHelper { private readonly string _specifiedPickupDirectory = string.Empty; private readonly SmtpClient _smtpClient; public SMTPHelper(string specifiedPickupDirectory) { _specifiedPickupDirectory = specifiedPickupDirectory; _smtpClient = new SmtpClient(); if (string.IsNullOrEmpty(_specifiedPickupDirectory)) { //Get the Sharepoint SMTP information from the SPAdministrationWebApplication var host = SPAdministrationWebApplication.Local.OutboundMailServiceInstance.Server.Address; _smtpClient.Host = host; } else { _smtpClient.PickupDirectoryLocation = _specifiedPickupDirectory; _smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; } } public void SendEmail(MailMessage mailMessage) { _smtpClient.Send(mailMessage); } }
//用第三方服务器效果好
string smtpServer = "smtp.sina.com.cn"; //SMTP服务器 string mailFrom = "******@sina.com"; //登陆用户名 string userPassword = "******"; // 邮件服务设置 SmtpClient smtpClient=new SmtpClient(); smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式 smtpClient.Host = smtpServer; //指定SMTP服务器 smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码 // 发送邮件设置 MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人 mailMessage.Subject = "";//主题 mailMessage.Body = "";//内容 mailMessage.BodyEncoding = Encoding.UTF8;//正文编码 mailMessage.IsBodyHtml = true;//设置为HTML格式 mailMessage.Priority = MailPriority.Low;//优先级 try { smtpClient.Send(mailMessage); // 发送邮件 return true; } catch (SmtpException ex) { return false; }
重要说明:
浙公网安备 33010602011771号