mirror of
https://github.com/fleschutz/PowerShell.git
synced 2024-12-01 12:24:33 +01:00
3.2 KiB
3.2 KiB
send-email.ps1
This PowerShell script sends an email message.
Parameters
PS> ./send-email.ps1 [[-From] <String>] [[-To] <String>] [[-Subject] <String>] [[-Body] <String>] [[-SMTPServer] <String>] [<CommonParameters>]
-From <String>
Specifies the sender email address
Required? false
Position? 1
Default value
Accept pipeline input? false
Accept wildcard characters? false
-To <String>
Specifies the recipient email address
Required? false
Position? 2
Default value
Accept pipeline input? false
Accept wildcard characters? false
-Subject <String>
Specifies the subject line
Required? false
Position? 3
Default value
Accept pipeline input? false
Accept wildcard characters? false
-Body <String>
Specifies the body message
Required? false
Position? 4
Default value
Accept pipeline input? false
Accept wildcard characters? false
-SMTPServer <String>
Required? false
Position? 5
Default value
Accept pipeline input? false
Accept wildcard characters? false
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
Example
PS> ./send-email
Notes
Author: Markus Fleschutz | License: CC0
Related Links
https://github.com/fleschutz/PowerShell
Script Content
<#
.SYNOPSIS
Sends an email message
.DESCRIPTION
This PowerShell script sends an email message.
.PARAMETER From
Specifies the sender email address
.PARAMETER To
Specifies the recipient email address
.PARAMETER Subject
Specifies the subject line
.PARAMETER Body
Specifies the body message
.EXAMPLE
PS> ./send-email
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
param([string]$From = "", [string]$To = "", [string]$Subject = "", [string]$Body = "", [string]$SMTPServer = "")
try {
if ($From -eq "") { $From = Read-Host "Enter sender email address" }
if ($To -eq "") { $To = Read-Host "Enter recipient email address" }
if ($Subject -eq "") { $Subject = Read-Host "Enter subject line" }
if ($Body -eq "") { $Body = Read-Host "Enter body message" }
if ($SMTPServer -eq "") { $SMTPServer = Read-Host "Enter SMTP server" }
$msg = New-Object Net.Mail.MailMessage
$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$msg.From = $From
$msg.ReplyTo = $From
$msg.To.Add($To)
$msg.subject = $Subject
$msg.body = $Body
$smtp.Send($msg)
"✔️ Message sent."
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}
(generated by convert-ps2md.ps1 using the comment-based help of send-email.ps1 as of 10/19/2023 08:11:42)