From 8f6982cc8a02ca20af84024591fc5df05ebb49f2 Mon Sep 17 00:00:00 2001
From: Jacob Scott <36082020+ece-jacob-scott@users.noreply.github.com>
Date: Sun, 17 Mar 2019 22:24:57 -0500
Subject: [PATCH] Made -Subject parameter of SendMail command no longer
mandatory. (#8961)
---
.../commands/utility/Send-MailMessage.cs | 3 +--
.../Send-MailMessage.Tests.ps1 | 18 ++++++++++++++++--
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/Send-MailMessage.cs b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/Send-MailMessage.cs
index 506715eb5b..96689806ba 100644
--- a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/Send-MailMessage.cs
+++ b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/Send-MailMessage.cs
@@ -117,9 +117,8 @@ namespace Microsoft.PowerShell.Commands
///
/// Gets or sets the subject of the email message.
///
- [Parameter(Mandatory = true, Position = 1, ValueFromPipelineByPropertyName = true)]
+ [Parameter(Mandatory = false, Position = 1, ValueFromPipelineByPropertyName = true)]
[Alias("sub")]
- [ValidateNotNullOrEmpty]
public string Subject { get; set; }
///
diff --git a/test/powershell/Modules/Microsoft.PowerShell.Utility/Send-MailMessage.Tests.ps1 b/test/powershell/Modules/Microsoft.PowerShell.Utility/Send-MailMessage.Tests.ps1
index f996200896..ef851fab56 100644
--- a/test/powershell/Modules/Microsoft.PowerShell.Utility/Send-MailMessage.Tests.ps1
+++ b/test/powershell/Modules/Microsoft.PowerShell.Utility/Send-MailMessage.Tests.ps1
@@ -61,6 +61,16 @@ Describe "Send-MailMessage" -Tags CI, RequireSudoOnUnix {
SmtpServer = "127.0.0.1"
}
}
+ @{
+ Name = "with No Subject"
+ InputObject = @{
+ From = "user01@example.com"
+ To = "user02@example.com"
+ ReplyTo = "noreply@example.com"
+ Body = "Body $(Get-Date)"
+ SmtpServer = "127.0.0.1"
+ }
+ }
)
It "Can send mail message using named parameters " -TestCases $testCases {
@@ -78,7 +88,9 @@ Describe "Send-MailMessage" -Tags CI, RequireSudoOnUnix {
$mail.Headers["From"] | Should -BeExactly $InputObject.From
$mail.Headers["To"] | Should -BeExactly $InputObject.To
$mail.Headers["Reply-To"] | Should -BeExactly $InputObject.ReplyTo
- $mail.Headers["Subject"] | Should -BeExactly $InputObject.Subject
+ If ($InputObject.Subject -ne $null) {
+ $mail.Headers["Subject"] | Should -BeExactly $InputObject.Subject
+ }
$mail.MessageParts.Count | Should -BeExactly 1
$mail.MessageParts[0].BodyData | Should -BeExactly $InputObject.Body
@@ -101,7 +113,9 @@ Describe "Send-MailMessage" -Tags CI, RequireSudoOnUnix {
$mail.Headers["From"] | Should -BeExactly $InputObject.From
$mail.Headers["To"] | Should -BeExactly $InputObject.To
$mail.Headers["Reply-To"] | Should -BeExactly $InputObject.ReplyTo
- $mail.Headers["Subject"] | Should -BeExactly $InputObject.Subject
+ If ($InputObject.Subject -ne $null) {
+ $mail.Headers["Subject"] | Should -BeExactly $InputObject.Subject
+ }
$mail.MessageParts.Count | Should -BeExactly 1
$mail.MessageParts[0].BodyData | Should -BeExactly $InputObject.Body