Send-MailMessage
Envia uma mensagem de email.
Syntax
Send-MailMessage
[-Attachments <String[]>]
[-Bcc <String[]>]
[[-Body] <String>]
[-BodyAsHtml]
[-Encoding <Encoding>]
[-Cc <String[]>]
[-DeliveryNotificationOption <DeliveryNotificationOptions>]
-From <String>
[[-SmtpServer] <String>]
[-Priority <MailPriority>]
[-ReplyTo <String[]>]
[-Subject] <String>
[-To] <String[]>
[-Credential <PSCredential>]
[-UseSsl]
[-Port <Int32>]
[<CommonParameters>]
Description
O Send-MailMessage
cmdlet envia uma mensagem de email de dentro do PowerShell.
Você deve especificar um servidor SMTP (Simple Mail Transfer Protocol) ou o Send-MailMessage
comando falhará. Use o parâmetro SmtpServer ou defina a $PSEmailServer
variável como um servidor SMTP válido.
O valor atribuído a $PSEmailServer
é a configuração de SMTP padrão para o PowerShell. Para obter mais informações, consulte about_Preference_Variables.
Aviso
O Send-MailMessage
cmdlet está obsoleto. Esse cmdlet não garante conexões seguras com servidores SMTP. Embora não haja nenhuma substituição imediata disponível no PowerShell, recomendamos que você não use Send-MailMessage
. Para obter mais informações, consulte Nota de compatibilidade da plataforma DE0005.
Exemplos
Exemplo 1: Enviar um email de uma pessoa para outra pessoa
Este exemplo envia uma mensagem de email de uma pessoa para outra pessoa.
Os parâmetros From, To e Subject são exigidos por Send-MailMessage
. Este exemplo usa a variável padrão $PSEmailServer
para o servidor SMTP, portanto, o parâmetro SmtpServer não é necessário.
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail'
O Send-MailMessage
cmdlet usa o parâmetro From para especificar o remetente da mensagem. O parâmetro To especifica o destinatário da mensagem. O parâmetro Subject usa a cadeia de texto Test mail como a mensagem porque o parâmetro Body opcional não está incluído.
Exemplo 2: Enviar um anexo
Este exemplo envia uma mensagem de email com um anexo.
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>', 'User03 <user03@fabrikam.com>' -Subject 'Sending the Attachment' -Body "Forgot to send the attachment. Sending now." -Attachments .\data.csv -Priority High -DeliveryNotificationOption OnSuccess, OnFailure -SmtpServer 'smtp.fabrikam.com'
O Send-MailMessage
cmdlet usa o parâmetro From para especificar o remetente da mensagem. O parâmetro To especifica os destinatários da mensagem. O parâmetro Subject descreve o conteúdo da mensagem. O parâmetro Body é o conteúdo da mensagem.
O parâmetro Attachments especifica o arquivo no diretório atual anexado à mensagem de email. O parâmetro Priority define a mensagem como Alta prioridade. O parâmetro -DeliveryNotificationOption especifica dois valores, OnSuccess e OnFailure. O remetente receberá notificações por email para confirmar o êxito ou a falha da entrega da mensagem. O parâmetro SmtpServer define o servidor SMTP como smtp.fabrikam.com.
Exemplo 3: Enviar email para uma lista de endereçamento
Este exemplo envia uma mensagem de email para uma lista de endereçamento.
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'ITGroup <itdept@fabrikam.com>' -Cc 'User02 <user02@fabrikam.com>' -Bcc 'ITMgr <itmgr@fabrikam.com>' -Subject "Don't forget today's meeting!" -Credential domain01\admin01 -UseSsl
O Send-MailMessage
cmdlet usa o parâmetro From para especificar o remetente da mensagem. O parâmetro To especifica os destinatários da mensagem. O parâmetro Cc envia uma cópia da mensagem para o destinatário especificado. O parâmetro Cco envia uma cópia cega da mensagem. Uma cópia cega é um endereço de email oculto dos outros destinatários. O parâmetro Subject é a mensagem porque o parâmetro Body opcional não está incluído.
O parâmetro Credential especifica que as credenciais de um administrador de domínio são usadas para enviar a mensagem. O parâmetro UseSsl especifica que a SSL (Secure Socket Layer) cria uma conexão segura.
Parâmetros
-Attachments
Especifica o caminho e os nomes de arquivo dos arquivos a serem anexados à mensagem de email. Você pode usar esse parâmetro ou redirecionar os caminhos e nomes de arquivo para Send-MailMessage
.
Type: | String[] |
Aliases: | PsPath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Bcc
Especifica os endereços de email que recebem uma cópia do email, mas não são listados como destinatários da mensagem. Insira nomes (opcionais) e o endereço de email, como Name <someone@fabrikam.com>
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Body
Especifica o conteúdo da mensagem de email.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-BodyAsHtml
Especifica que o valor do parâmetro Body contém HTML.
Type: | SwitchParameter |
Aliases: | BAH |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Cc
Especifica os endereços de email aos quais uma cc (cópia carbono) da mensagem de email é enviada. Insira nomes (opcionais) e o endereço de email, como Name <someone@fabrikam.com>
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Especifica uma conta de usuário que tem permissão para executar esta ação. O padrão é o usuário atual.
Digite um nome de usuário, como User01 ou Domain01\User01. Ou insira um objeto PSCredential , como um do Get-Credential
cmdlet .
As credenciais são armazenadas em um objeto PSCredential e a senha é armazenada como um SecureString.
Observação
Para obter mais informações sobre a proteção de dados SecureString , consulte Quão seguro é SecureString?.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DeliveryNotificationOption
Especifica as opções de notificação de entrega para a mensagem de email. Você pode especificar vários valores. None é o valor padrão. O alias para esse parâmetro é DNO.
As notificações de entrega são enviadas para o endereço no parâmetro From .
Os valores aceitáveis para esse parâmetro são os seguintes:
None
: nenhuma notificação.OnSuccess
: notificar se a entrega for bem-sucedida.OnFailure
: notificar se a entrega não for bem-sucedida.Delay
: notifique se a entrega está atrasada.Never
: nunca notifique.
Type: | DeliveryNotificationOptions |
Aliases: | DNO |
Accepted values: | None, OnSuccess, OnFailure, Delay, Never |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Encoding
Especifica o tipo de codificação para o arquivo de destino. O valor padrão é utf8NoBOM
.
Os valores aceitáveis para esse parâmetro são os seguintes:
ascii
: usa a codificação para o conjunto de caracteres ASCII (7 bits).bigendianunicode
: codifica no formato UTF-16 usando a ordem de bytes big-endian.oem
: usa a codificação padrão para programas MS-DOS e console.unicode
: codifica no formato UTF-16 usando a ordem de byte little-endian.utf7
: codifica no formato UTF-7.utf8
: codifica no formato UTF-8.utf8BOM
: codifica no formato UTF-8 com Marca de Pedido de Byte (BOM)utf8NoBOM
: codifica no formato UTF-8 sem marca de pedido de byte (BOM)utf32
: codifica no formato UTF-32.
A partir do PowerShell 6.2, o parâmetro Decodificação também permite IDs numéricas de páginas de código registradas (como -Encoding 1251
) ou nomes de cadeia de caracteres de páginas de código registradas (como -Encoding "windows-1251"
). Para obter mais informações, consulte a documentação do .NET para Encoding.CodePage.
Type: | Encoding |
Aliases: | BE |
Accepted values: | ASCII, BigEndianUnicode, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Default value: | UTF8NoBOM |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-From
O parâmetro From é necessário. Esse parâmetro especifica o endereço de email do remetente. Insira um nome (opcional) e um endereço de email, como Name <someone@fabrikam.com>
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Especifica uma porta alternativa no servidor SMTP. O valor padrão é 25, que é a porta SMTP padrão.
Type: | Int32 |
Position: | Named |
Default value: | 25 |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Priority
Especifica a prioridade da mensagem de email. Normal é o padrão. Os valores aceitáveis para esse parâmetro são Normal, Alto e Baixo.
Type: | MailPriority |
Accepted values: | Normal, High, Low |
Position: | Named |
Default value: | Normal |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ReplyTo
Especifica endereços de email adicionais (além do endereço De) a serem usados para responder a essa mensagem.
Insira nomes (opcionais) e o endereço de email, como Name <someone@fabrikam.com>
.
Esse parâmetro foi introduzido no PowerShell 6.2.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SmtpServer
Especifica o nome do servidor SMTP que envia a mensagem de email.
O valor padrão é o valor da variável de $PSEmailServer
preferência. Se a variável de preferência não estiver definida e esse parâmetro não for usado, o Send-MailMessage
comando falhará.
Type: | String |
Aliases: | ComputerName |
Position: | 3 |
Default value: | $PSEmailServer |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Subject
O parâmetro Subject é necessário. Esse parâmetro especifica o assunto da mensagem de email.
Type: | String |
Aliases: | sub |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-To
O parâmetro To é necessário. Esse parâmetro especifica o endereço de email do destinatário. Se houver vários destinatários, separe seus endereços com uma vírgula (,
). Insira nomes (opcionais) e o endereço de email, como Name <someone@fabrikam.com>
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UseSsl
O protocolo SSL (Secure Sockets Layer) é usado para estabelecer uma conexão segura com o computador remoto para enviar emails. Por padrão, SSL não é usado.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Entradas
Você pode redirecionar o caminho e os nomes de arquivo de anexos para Send-MailMessage
.
Saídas
None
Este cmdlet não gera saída.