Send-MailMessage
Applies To: Windows PowerShell 2.0
Sends an e-mail message.
Send-MailMessage [-To] <string[]> [-Subject] <string> [[-Body] <string>] [[-SmtpServer] <string>] -From <string> [-Attachments <string[]>] [-Bcc <string[]>] [-BodyAsHtml] [-Cc <string[]>] [-Credential <PSCredential>] [-DeliveryNotificationOption {<None> | <OnSuccess> | <OnFailure> | <Delay> | <Never>}] [-Encoding <Encoding>] [-Priority {<Normal> | <Low> | <High>}] [-UseSsl] [<CommonParameters>]
The Send-MailMessage cmdlet sends an e-mail message from within Windows PowerShell.
Specifies the path and file names of files to be attached to the e-mail message. You can use this parameter or pipe the paths and file names to Send-MailMessage.
Required? |
false |
Position? |
named |
Default Value |
|
Accept Pipeline Input? |
true (ByValue) |
Accept Wildcard Characters? |
false |
Specifies the e-mail addresses that receive a copy of the mail but are not listed as recipients of the message. Enter names (optional) and the e-mail address, such as "Name <someone@example.com>".
Required? |
false |
Position? |
named |
Default Value |
None |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies the body (content) of the e-mail message.
Required? |
false |
Position? |
3 |
Default Value |
None |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Indicates that the value of the Body parameter contains HTML.
Required? |
false |
Position? |
named |
Default Value |
False |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies the e-mail addresses to which a carbon copy (CC) of the e-mail message is sent. Enter names (optional) and the e-mail address, such as "Name <someone@example.com>".
Required? |
false |
Position? |
named |
Default Value |
None |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies a user account that has permission to perform this action. The default is the current user.
Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one from the Get-Credential cmdlet.
Required? |
false |
Position? |
named |
Default Value |
Current user |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies the delivery notification options for the e-mail message. You can specify multiple values. "None" is the default value. The alias for this parameter is "dno".
The delivery notifications are sent in an e-mail message to the address specified in the value of the To parameter.
Valid values are:
-- None: No notification.
-- OnSuccess: Notify if the delivery is successful.
-- OnFailure: Notify if the delivery is unsuccessful.
-- Delay: Notify if the delivery is delayed.
-- Never: Never notify.
Required? |
false |
Position? |
named |
Default Value |
None |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies the encoding used for the body and subject. Valid values are ASCII, UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, Default, and OEM. ASCII is the default.
Required? |
false |
Position? |
named |
Default Value |
ASCII |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies the address from which the mail is sent. Enter a name (optional) and e-mail address, such as "Name <someone@example.com>". This parameter is required.
Required? |
true |
Position? |
named |
Default Value |
None |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies the priority of the e-mail message. The valid values for this are Normal, High, and Low. Normal is the default.
Required? |
false |
Position? |
named |
Default Value |
Normal. |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies the name of the SMTP server that sends the e-mail message.
The default value is the value of the $PSEmailServer preference variable. If the preference variable is not set and this parameter is omitted, the command fails.
Required? |
false |
Position? |
4 |
Default Value |
$PSEmailServer |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies the subject of the e-mail message. This parameter is required.
Required? |
true |
Position? |
2 |
Default Value |
None |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Specifies the addresses to which the mail is sent. Enter names (optional) and the e-mail address, such as "Name <someone@example.com>". This parameter is required.
Required? |
true |
Position? |
1 |
Default Value |
None |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
Uses the Secure Sockets Layer (SSL) protocol to establish a connection to the remote computer to send mail. By default, SSL is not used.
Required? |
false |
Position? |
named |
Default Value |
False |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
This command supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, OutBuffer, OutVariable, WarningAction, and WarningVariable. For more information, see about_CommonParameters.
The input type is the type of the objects that you can pipe to the cmdlet. The return type is the type of the objects that the cmdlet returns.
Inputs |
System.String You can pipe the path and file names of attachments to Send-MailMessage. |
Outputs |
None This cmdlet does not generate any output. |
C:\PS>send-mailmessage -to "User01 <user01@example.com>" -from "User02 <user02@example.com>" -subject "Test mail"
Description
-----------
This command sends an e-mail message from User01 to User02.
The mail message has a subject, which is required, but it does not have a body, which is optional. Also, because the SmtpServer parameter is not specified, Send-MailMessage uses the value of the $PSEmailServer preference variable for the SMTP server.
C:\PS>send-mailmessage -from "User01 <user01@example.com>" -to "User02 <user02@example.com>", "User03 <user03@example.com>" -subject "Sending the Attachment" -body "Forgot to send the attachment. Sending now." -Attachments "data.csv" -priority High -dno onSuccess, onFailure -smtpServer smtp.fabrikam.com
Description
-----------
This command sends an e-mail message with an attachment from User01 to two other users.
It specifies a priority value of "High" and requests a delivery notification by e-mail when the e-mail messages are delivered or when they fail.
C:\PS>send-mailmessage -to "User01 <user01@example.com>" -from "ITGroup <itdept@example.com>" -cc "User02 <user02@example.com>" -bcc "ITMgr <itmgr@example.com>" -subject "Don't forget today's meeting!" -credential domain01\admin01 -useSSL
Description
-----------
This command sends an e-mail message from User01 to the ITGroup mailing list with a copy (CC) to User02 and a blind carbon copy (BCC) to the IT manager (ITMgr).
The command uses the credentials of a domain administrator and the UseSSL parameter.