Skip to content

Send-Email

Sends an email message

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: $($Error[0]) (script line $($_.InvocationInfo.ScriptLineNumber))"
	exit 1
}

Specifies the sender email address

Specifies the recipient email address

Specifies the subject line

Specifies the body message

An interactive directory of PowerShell scripts.