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 506715eb5bf..96689806ba6 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 @@ public sealed class SendMailMessage : PSCmdlet /// /// 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 f9962008966..ef851fab56d 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