Aqui falaremos como automatizar uma mensagem de boas vindas (Welcome Message) ao habilitar um novo usuário no seu servidor Exchange Server 2016.
Abra o Outlook, crie um Novo Email com o conteúdo a ser enviado de boas vindas para ser usada como modelo, salve o código html como welcome.htm, vá nos servidores Exchange e coloque arquivo (crie a estrutura, se necessário) em C:\ExchangeWelcomeMessage\welcome_arquivos\welcome.htm. Em seguida, ainda nos servidores Exchange, crie o arquivo C:\Program Files\Microsoft\Exchange Server\V15\Bin\CmdletExtensionAgents\ScriptingAgentConfig.xml com o seguinte conteúdo:
<?xml version=”1.0″ encoding=”utf-8″ ?> <Configuration version=”1.0″> <Feature Name=”WelcomeEmail” Cmdlets=”New-Mailbox,Enable-Mailbox”> <ApiCall Name=”OnComplete”> if($succeeded) { # Waiting for synchronization after mailbox has been created. Set-ADServerSettings -ViewEntireForest $true # Uncomment the next line to enable logging – this logs information helpful when debugging/modifying script and associated HTML message $logFile = “C:\ExchangeWelcomeMessage\log.txt” if ($logFile) { $provisioningHandler.UserSpecifiedParameters | fl | Out-File $logFile -Append } # Get the mailbox $attempts = 0 $mbx = $null # Just to be sure… do { try { if ($provisioningHandler.UserSpecifiedParameters.Contains(“Alias”)) { $UsrAlias = $provisioningHandler.UserSpecifiedParameters[“Alias”].ToString() if ($logFile) { [string]::Format(“Retrieving mailbox using alias: {0}”, $UsrAlias) | Out-File $logFile -Append } $mbx = (Get-Mailbox -Filter {Alias -eq $UsrAlias} -ErrorAction SilentlyContinue) Remove-Variable UsrAlias } if (($mbx -eq $null) -and ($provisioningHandler.UserSpecifiedParameters.Contains(“SamAccountName”))) { $UsrSamAccountName = $provisioningHandler.UserSpecifiedParameters[“SamAccountName”].ToString() if ($logFile) { [string]::Format(“Retrieving mailbox using SamAccountName: {0}”, $UsrSamAccountName) | Out-File $logFile -Append } $mbx = (Get-Mailbox -Filter {SamAccountName -eq $UsrSamAccountName} -ErrorAction SilentlyContinue) Remove-Variable UsrSamAccountName } if (($mbx -eq $null) -and ($provisioningHandler.UserSpecifiedParameters.Contains(“Identity”))) { $UsrIdentity = $provisioningHandler.UserSpecifiedParameters[“Identity”].ToString() if ($logFile) { [string]::Format(“Retrieving mailbox using identity: {0}”, $UsrIdentity) | Out-File $logFile -Append } $mbx = (Get-Mailbox -Identity $UsrIdentity -ErrorAction SilentlyContinue) Remove-Variable UsrIdentity } } catch { $Error.Clear() } if ($mbx -eq $null) { Start-Sleep -s 10 $attempts++ } } while (($attempts -lt 3) -and ($mbx -eq $null)) # If we have the mailbox, we can send the introductory email if ($mbx) { # Mailbox does not have first name property, so we need to get the user account $usr = Get-User $mbx.Identity # Create the objects we need to create the message and send the mail $message = New-Object System.Net.Mail.MailMessage $smtpClient = New-Object System.Net.Mail.SmtpClient(“SEU SMTP SERVER“) # Change this to point to your SMTP server # Obtain the message text $messageText = [string](Get-Content (“C:\ExchangeWelcomeMessage\welcome.html”)) # Change to point to your HTML welcome message #$messageText = $messageText.Replace(“#UserFirstName#”, $usr.FirstName) # This replaces #UserFirstName# with the user’s first name – you can add further replacements as needed # Create the HTML view for this message $view = [System.Net.Mail.AlternateView]::CreateAlternateViewFromString($messageText, $null, “text/html”) # Create the message $message.From = “REMETENTE@SEUDOMINIO.COM” # Update this to the address you want the welcome message to be sent from $message.To.Add($mbx.PrimarySmtpAddress.ToString()) $message.Subject = “Bem-vindo a EMPRESA!” # Update this to your email subject $message.AlternateViews.Add($view) $message.IsBodyHtml = $true # Send the message $smtpClient.Send($message) # Tidy up variables Remove-Variable view Remove-Variable messageText Remove-Variable message Remove-Variable smtpClient Remove-Variable usr Remove-Variable mbx } } </ApiCall> </Feature> </Configuration> |
Substitua os campos:
“Bem-vindo a EMPRESA!” pelo assunto do e-mail;
“REMETENTE@SEUDOMINIO.COM” pelo e-mail que a mensagem será enviada;
“SEU SMTP SERVER” pelo IP do seu servidor SMTP.
Abra o Exchange Management Shell como administrador e execute o comando:
Enable-CmdletExtensionAgent "Scripting Agent"
Execute o comando abaixo para verificar se o atributo Scripting Agent está como enable:
Get-CmdletExtensionAgent | FT Name,Enabled -AutoSize
Mais Informações
Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.
Entre em contato conosco pelo e-mail equipe@nvlan.com.br.