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 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 应用程序的默认配置。

Important重要说明:
使用 Windows PowerShell 无法配置传出电子邮件。

本文内容:

 
 

开始此操作之前,请查看有关先决条件的以下信息:

  • 您的计算机运行的是 SharePoint 2013。

  • 服务器场中的一台或多台服务器正在运行简单邮件传输协议 (SMTP) 服务并且必须使用有效的 SMTP 服务器地址。或者,必须知道服务器场外运行 SMTP 服务的服务器的名称。

如果未安装和配置 SMTP 服务,则您必须先完成以下步骤,然后再配置传出电子邮件:

  • 安装和配置 SMTP 服务

在可以启用传出电子邮件之前,必须确定要使用的 SMTP 服务器。此 SMTP 服务器必须配置为允许匿名的 SMTP 电子邮件提交。SMTP 服务器可以是服务器场中或服务器场外的服务器。

Note注意:
如果您的组织不允许使用 Exchange Server 发送匿名 SMTP 电子邮件,则可以使用 SharePoint 场中接受匿名电子邮件的本地 SMTP 服务器。此本地 SMTP 服务器会自动验证这些邮件,然后将它们转发给运行 Exchange Server 的计算机。

若要安装 SMTP 服务,请使用服务器管理器中的“添加功能向导”。此向导会创建一个默认的 SMTP 配置。可以自定义此默认的 SMTP 配置,以满足您组织的要求。

如果已在服务器上安装 SMTP 服务,则可以跳到本文后面的配置 SMTP 服务

安装 SMTP 服务
  1. 请确认执行此过程的用户帐户是前端 Web 服务器上的 Administrators 组的成员。

  2. 单击“开始”,指向“管理工具”,然后单击“服务器管理器”。

  3. 在服务器管理器中,单击“功能”。

  4. 在“功能摘要”中,单击“添加功能”以打开“添加功能向导”。

  5. 在“选择功能”页上,选择“SMTP 服务器”。

  6. 在“添加功能向导”对话框中,单击“添加必需的滚动服务”,然后单击“下一步”。

  7. 在“确认安装选择”页上,单击“安装”。

  8. 在“安装结果”页上,确保安装已完成,然后单击“关闭”。

安装 SMTP 服务后,将该服务配置发送来自服务器场中服务器的电子邮件。

可以决定将中继电子邮件发送到所有服务器(特定排除的服务器除外)。或者,可以阻止发送到所有服务器(特定包括的服务器除外)的邮件。可以逐个加入服务器,也可以按子网或域成组地加入服务器。

如 果启用匿名访问和中继电子邮件,将会增加 SMTP 服务器用于中继商业垃圾邮件(垃圾邮件)的可能性。一定要小心地配置邮件服务器以帮助防范垃圾邮件,从而限制这种可能性。实现此目的的一种方式是限制发送 给特定的服务器或域列表的中继电子邮件,并阻止从所有其他服务器发送的中继电子邮件。

Note注意:
若要在 Windows Server 2008 上管理 SMTP 服务,必须使用 Internet Information Services (IIS) 6.0 管理器。请确保在服务器管理器中安装了 IIS 6.0 管理工具。
安装 IIS 6.0 管理工具
  1. 请确认执行此过程的用户帐户是前端 Web 服务器上的 Administrators 组的成员。

  2. 单击“开始”,指向“管理工具”,然后单击“服务器管理器”。

  3. 在服务器管理器中,单击“角色”。

  4. 在“应用程序服务器”部分,单击“添加角色服务”。

  5. 在“选择角色服务”页上,选择“管理工具”和“IIS 6 管理兼容性”,然后单击“安装”。

    测试 SMTP 服务器

    可以使用 Telnet 测试 SMTP 服务器的配置。以下步骤将使用你已配置的 SMTP 服务器向一个电子邮件地址发送邮件。http://support.microsoft.com/kb/153119 提供了 telnet 命令的说明。

    1. 以管理员身份打开命令窗口:

      Windows Server 2008 R2 :单击“开始”,然后在“搜索”文本框中输入“命令”。右键单击“命令提示符”,然后单击“以管理员身份运行”

      Windows Server 2012 :单击键盘上的 Windows 按钮。输入“命令”。在“结果”窗口中,右键单击“命令提示符”,然后单击任务栏中的“以管理员身份运行”。

    2. 在命令提示符下,输入:

      telnet localhost 25

      如果没有安装 telnet,则输入以下内容进行安装:

      pkgmgr /iu:"TelnetClient"

    3. 输入以下内容启动通信:

      EHLO server

    4. 输入“发件人”地址:

      MAIL FROM:YourEmailAddress@YourProvider.com//控制面板,查看电脑域名

      例如,输入:

      MAIL FROM:admin@dep1.com

    5. 输入“收件人”地址:

      RCPT TO:YourEmailAddress@YourProvider.com

      例如,输入:

      rcpt to:1412@qq.com

    6. 输入以下内容,以告知 SMTP 服务器您已准备好发送数据:

      DATA

    7. 输入以下内容,以输入“主题”:

      Subject:Test Message

    8. 按 Enter 两次。

    9. 输入以下内容,以输入邮件正文:

      This is the message body of the test message.

    10. 按 Enter,输入句点 (.),再按 Enter。

    检查电子邮件的 RCPT TO 地址。如果电子邮件未送达(检查“收件箱”和“垃圾邮件”文件夹),则表示邮件发送失败,仍驻留在 SMTP 队列文件夹中 (C:\inetpub\mailroot\Queue)。

配置 SMTP 服务
  1. 请确认执行此过程的用户帐户是前端 Web 服务器上的 Administrators 组的成员。

  2. 单击“开始”,指向“管理工具”,然后单击“Internet 信息服务(IIS) 6.0 管理器”。

  3. 在 IIS 管理器 中,展开包含要配置的 SMTP 服务器的服务器名称。

  4. 右键单击要配置的 SMTP 虚拟服务器,然后单击“开始”。

  5. 右键单击要配置的 SMTP 虚拟服务器,然后单击“属性”。

  6. 在“访问”选项卡上的“访问控制”区域中,单击“身份验证”。

  7. 在“身份验证”对话框中,验证是否选中了“匿名访问”。

  8. 单击“确定”。

  9. 在“访问”选项卡上的“中继限制”区域,单击“中继”。

  10. 若要启用发送到任何服务器的中继电子邮件,请单击“以下列表除外”。

  11. 若要接受来自一个或多个特定服务器的中继电子邮件,请按照下列步骤操作:

    1. 单击“仅以下列表”。

    2. 单击“添加”,然后按 IP 地址一次添加一台服务器,或使用子网或域成组地添加服务器。

    3. 单击“确定”以关闭“计算机”对话框。

  12. 单击“确定”以关闭“中继限制”对话框。

  13. 单击“确定”以关闭“属性”对话框。

确保 SMTP 服务正在运行,并已设置为自动启动。为此,请使用下列过程。

将 SMTP 服务设置为自动启动
  1. 单击“开始”,指向“管理工具”,然后单击“服务”。

  2. 在“服务”中,右键单击“简单邮件传输协议(SMTP)”,然后选择“属性”。

  3. 在“简单邮件传输协议(SMTP)属性”对话框中,在“常规”选项卡上的“启动类型”列表中选择“自动”。

  4. 单击“确定”。

您可以通过使用 SharePoint 管理中心网站为服务器场配置传出电子邮件。请使用以下过程配置传出电子邮件。在完成了以下过程后,用户可以跟踪对单独网站集的更改和更新。此外,(举例而言)网站管理员可以在用户请求访问网站时收到通知。

使用管理中心为服务器场配置传出电子邮件
  1. 确认执行此过程的用户帐户是运行 SharePoint 管理中心网站的服务器上的 Farm Administrators 组的成员。

  2. 在管理中心中,单击“系统设置”。

  3. 在“系统设置”页上的“电子邮件和短信(SMS)”部分,单击“配置传出电子邮件设置”。

  4. 在“传出电子邮件设置”页上的“邮件设置”部分中,在“出站 SMTP 服务器”框中为传出电子邮件键入 SMTP 服务器名称(例如,mail.example.com)。

  5. 在“发件人地址”框中,键入希望对电子邮件收件人显示的电子邮件地址。

  6. 在“答复地址”框中,键入希望电子邮件收件人答复的电子邮件地址。

  7. 在“字符集”列表中,选择适合您的语言的字符集。

  8. 单击“确定”。

您可以通过使用管理中心网站为特定的 Web 应用程序配置传出电子邮件。请使用以下过程配置传出电子邮件。

Note注意:
若要为特定的 Web 应用程序配置传出电子邮件,请先为服务器场中的所有 Web 应用程序配置默认的传出电子邮件。如果为特定的 Web 应用程序配置传出电子邮件,则该配置将替代服务器场中所有 Web 应用程序的默认配置。

使用管理中心为特定 Web 应用程序配置传出电子邮件

  1. 确认执行此过程的用户帐户是运行 SharePoint 管理中心网站的服务器上的 Farm Administrators 组的成员。

  2. 在管理中心的“应用程序管理”部分,单击“管理 Web 应用程序”。

  3. 在“Web 应用程序管理”页上,选择一个 Web 应用程序,然后在功能区上的“常规设置”组中单击“传出电子邮件”。

  4. 在“Web 应用程序传出电子邮件设置”页上的“邮件设置”部分,在“出站 SMTP 服务器”框中为传出电子邮件键入 SMTP 服务器名称(例如,mail.fabrikam.com)。

  5. 在“发件人地址”框中,键入希望对电子邮件收件人显示的电子邮件地址(例如,网站管理员的别名)。

  6. 在“答复地址”框中,键入希望电子邮件收件人答复的电子邮件地址(例如,技术支持的别名)。

  7. 在“字符集”列表中,单击适合您的语言的字符集。

  8. 单击“确定”。

//用代码发邮件,不过,经常被对方服务器拒绝

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; }

 

posted on 2015-04-12 22:50  !无名之辈  阅读(401)  评论(0)    收藏  举报