作为企业的IT一般会遇到HR部门提出的很多要求,其中新员工入职的欢迎邮件相信很多HR都会提出,这里介绍下如何通过Cmdlet Extension Agents结合XML脚本来实现这个功能,XML脚本见附件。该脚本支持文字和图片,需要修改ScriptingAgentConfig.XML脚本中×××标注的部分以符合自身的实际环境。

    $smtpClient = New-Object System.Net.Mail.SmtpClient("ex2k10mbx1.hybrid.local") # 更改为实际环境中的SMTP服务器主机名

    $messageText = [string](Get-Content ("c:\WelcomeMessage\Welcome.html")) # 更改为实际HTML文件的路径

    $p_w_picpath = New-Object System.Net.Mail.LinkedResource("C:\WelcomeMessage\p_w_picpath001.png")# 更改为实际PNG文件的路径和文件名

$message.From = "welcome@hybrid.local" #更改为实际用来发送欢迎邮件的邮箱用户

$message.Subject = "Welcome to email!" #更改为所需的邮件主题

    接着将ScriptingAgentConfig.XML脚本拷贝到每台Exchange服务器的C:\ProgramFiles\Microsoft\Exchange Server\V14\Bin\CmdletExtensionAgents路径下,同时需删除该路径下默认的ScriptingAgentConfig.xml.sample文件。

    需要注意的是默认设置下Exchange服务器中的CmdletExtensionAgents是未启用的,需通过命令启用该功能,命令如下:

    Enable-CmdletExtensionAgent "Scripting Agent"

同时可通过如下命令查看已启用的CmdletExtensionAgents

    Get-CmdletExtensionAgent | FT Name,Enabled

wKiom1f7fu7ymojvAAQpTCvTNW4908.png-wh_50

    将附件中的Welcome.html文件以及Image001.png图片文件放到C:\WelcomeMessage文件夹中。在新邮箱创建过程中,会通过Cmdlet Extension Agent调用ScriptingAgentConfig.xml脚本,给新邮箱用户发送Welcome.html文件中设置的欢迎邮件内容。该欢迎邮件支持自定义邮件格式,如修改文字内容和图片大小等。

    如需修改邮件正文中图片的大小,可以使用Notepad或其他文本编辑器编辑Welcome.html文件,然后更改

<v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75"
 alt="MSFT_logo" style='width:96.75pt;height:32.25pt 中width和height的值并保存。

    使用此脚本发送新员工欢迎邮件时,需检查Exchange服务器中HUB服务器的【身份验证】设置。

wKiom1k_evKT6nsRAACran8bI4M622.jpg-wh_50

    确认已取消【传输层安全性】下的【启用域安全】勾选。

wKiom1f7g53hf4neAAEEe3BuM3I126.png-wh_50

    同时,需在权限组中设置允许匿名用户访问

wKioL1k_e-GD7lZtAABOZDW94Gc750.jpg-wh_50

  否则在邮箱创建过程中会出现如下警告,导致设定的欢迎邮件无法发送。

警告:
具备索引 5 的 cmdlet 扩展代理在 OnComplete() 中引发了异常。异常情况为: Microsoft.Exchange.Provisioning.ProvisioningException: ScriptingAgent: 对 OnComplete API 调用 Scriptlet 时引发了异常: 使用“1”个参数调用“Send”时发生异常:“SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.7.1 Client was not authenticated”。 ---> System.Management.Automation.MethodInvocationException: 使用“1”个参数调用“Send”时发生异常:“SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.7.1 Client was not authenticated” ---> System.Net.Mail.SmtpException: SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.7.1 Client was not authenticated