Partager via


Send-MailMessage

Envoie un e-mail.

Syntaxe

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

L’applet de commande Send-MailMessage envoie un e-mail à partir de PowerShell.

Vous devez spécifier un serveur SMTP (Simple Mail Transfer Protocol) ou la commande Send-MailMessage échoue. Utilisez le paramètre smtpServer ou définissez la variable sur un serveur SMTP valide. La valeur affectée à $PSEmailServer est le paramètre SMTP par défaut pour PowerShell. Pour plus d’informations, consultez about_Preference_Variables.

Avertissement

L’applet de commande Send-MailMessage est obsolète. Cette applet de commande ne garantit pas les connexions sécurisées aux serveurs SMTP. Bien qu’il n’existe aucun remplacement immédiat disponible dans PowerShell, nous vous recommandons de ne pas utiliser Send-MailMessage. Pour plus d’informations, consultez note de compatibilité de plateforme DE0005.

Exemples

Exemple 1 : Envoyer un e-mail d’une personne à une autre personne

Cet exemple envoie un e-mail d’une personne à une autre personne.

Les paramètres De, Àet Objet sont requis par Send-MailMessage. Cet exemple utilise la variable $PSEmailServer par défaut pour le serveur SMTP. Par conséquent, le paramètre SmtpServer n’est pas nécessaire.

Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail'

L’applet de commande Send-MailMessage utilise le paramètre From pour spécifier l’expéditeur du message. Le paramètre À spécifie le destinataire du message. Le paramètre objet utilise la chaîne de texte tester le de messagerie en tant que message, car le paramètre corps facultatif n’est pas inclus.

Exemple 2 : Envoyer une pièce jointe

Cet exemple envoie un message électronique avec une pièce jointe.

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'

L’applet de commande Send-MailMessage utilise le paramètre From pour spécifier l’expéditeur du message. Le paramètre To spécifie les destinataires du message. Le paramètre Objet décrit le contenu du message. Le paramètre Body est le contenu du message.

Le paramètre Pièces jointes spécifie le fichier dans le répertoire actif attaché au message électronique. Le paramètre Priority définit le message sur priorité élevée. Le paramètre -DeliveryNotificationOption spécifie deux valeurs, OnSuccess et OnFailure. L’expéditeur reçoit des notifications par e-mail pour confirmer la réussite ou l’échec de la remise du message. Le paramètre SmtpServer définit le serveur SMTP sur smtp.fabrikam.com.

Exemple 3 : Envoyer un e-mail à une liste de diffusion

Cet exemple envoie un e-mail à une liste de diffusion.

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

L’applet de commande Send-MailMessage utilise le paramètre From pour spécifier l’expéditeur du message. Le paramètre To spécifie les destinataires du message. Le paramètre Cc envoie une copie du message au destinataire spécifié. Le paramètre cci envoie une copie aveugle du message. Une copie aveugle est une adresse e-mail masquée par les autres destinataires. Le paramètre Objet est le message, car le paramètre facultatif Body n’est pas inclus.

Le paramètre Credential spécifie les informations d’identification d’un administrateur de domaine sont utilisées pour envoyer le message. Le paramètre UseSsl spécifie que ssl (Secure Socket Layer) crée une connexion sécurisée.

Paramètres

-Attachments

Spécifie le chemin d’accès et les noms de fichiers à joindre au message électronique. Vous pouvez utiliser ce paramètre ou diriger les chemins d’accès et les noms de fichiers vers Send-MailMessage.

Type:String[]
Alias:PsPath
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Bcc

Spécifie les adresses e-mail qui reçoivent une copie du courrier, mais qui ne sont pas répertoriées en tant que destinataires du message. Entrez les noms (facultatif) et l’adresse e-mail, telles que Name <someone@fabrikam.com>.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Body

Spécifie le contenu du message électronique.

Type:String
Position:2
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-BodyAsHtml

Spécifie que la valeur du paramètre Body contient du code HTML.

Type:SwitchParameter
Alias:BAH
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Cc

Spécifie les adresses e-mail auxquelles une copie carbone (CC) du message électronique est envoyée. Entrez les noms (facultatif) et l’adresse e-mail, telles que Name <someone@fabrikam.com>.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Credential

Spécifie un compte d’utilisateur autorisé à effectuer cette action. La valeur par défaut est l’utilisateur actuel.

Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01. Vous pouvez également entrer un objet PSCredential, tel qu’un objet à partir de l’applet de commande Get-Credential.

Les informations d’identification sont stockées dans un objet PSCredential et le mot de passe est stocké en tant que SecureString.

Note

Pour plus d’informations sur SecureString la protection des données, consultez Comment secure is SecureString ?.

Type:PSCredential
Position:Named
Valeur par défaut:Current user
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-DeliveryNotificationOption

Spécifie les options de notification de remise pour le message électronique. Vous pouvez spécifier plusieurs valeurs. Aucune n’est la valeur par défaut. L’alias de ce paramètre est DNO .

Les notifications de remise sont envoyées à l’adresse dans le paramètre From.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • None: aucune notification.
  • OnSuccess: informez si la remise réussit.
  • OnFailure: notifier si la remise échoue.
  • Delay: notifier si la remise est retardée.
  • Never: Ne jamais notifier.

Ces valeurs sont définies comme une énumération basée sur des indicateurs. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être transmises au paramètre DeliveryNotification en tant que tableau de valeurs ou sous forme de chaîne séparée par des virgules de ces valeurs. L’applet de commande combine les valeurs à l’aide d’une opération binary-OR. La transmission de valeurs en tant que tableau est l’option la plus simple et vous permet également d’utiliser la saisie semi-automatique sous forme de tabulation sur les valeurs.

Type:DeliveryNotificationOptions
Alias:DNO
Valeurs acceptées:None, OnSuccess, OnFailure, Delay, Never
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Encoding

Spécifie le type d’encodage du fichier cible. La valeur par défaut est utf8NoBOM.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • ascii: utilise l’encodage pour le jeu de caractères ASCII (7 bits).
  • bigendianunicode: encode au format UTF-16 à l’aide de l’ordre d’octet big-endian.
  • bigendianutf32: encode au format UTF-32 à l’aide de l’ordre d’octet big-endian.
  • oem: utilise l’encodage par défaut pour les programmes MS-DOS et console.
  • unicode: encode au format UTF-16 à l’aide de l’ordre d’octet little-endian.
  • utf7: encode au format UTF-7.
  • utf8: encode au format UTF-8.
  • utf8BOM: encode au format UTF-8 avec marque d’ordre d’octet (BOM)
  • utf8NoBOM: encode au format UTF-8 sans marque d’ordre d’octet (BOM)
  • utf32: encode au format UTF-32.

À compter de PowerShell 6.2, le paramètre d’encodage autorise également des ID numériques de pages de codes inscrites (comme -Encoding 1251) ou des noms de chaînes de pages de codes inscrites (comme -Encoding "windows-1251"). Pour plus d’informations, consultez la documentation .NET pour Encoding.CodePage.

Type:Encoding
Alias:BE
Valeurs acceptées:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Valeur par défaut:UTF8NoBOM
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-From

Le paramètre From est requis. Ce paramètre spécifie l’adresse e-mail de l’expéditeur. Entrez un nom (facultatif) et une adresse e-mail, comme Name <someone@fabrikam.com>.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Port

Spécifie un autre port sur le serveur SMTP. La valeur par défaut est 25, qui est le port SMTP par défaut.

Type:Int32
Position:Named
Valeur par défaut:25
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Priority

Spécifie la priorité du message électronique. Normal est la valeur par défaut. Les valeurs acceptables pour ce paramètre sont Normal, High et Low.

Type:MailPriority
Valeurs acceptées:Normal, High, Low
Position:Named
Valeur par défaut:Normal
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-ReplyTo

Spécifie des adresses e-mail supplémentaires (autres que l’adresse De) à utiliser pour répondre à ce message. Entrez les noms (facultatif) et l’adresse e-mail, telles que Name <someone@fabrikam.com>.

Ce paramètre a été introduit dans PowerShell 6.2.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-SmtpServer

Spécifie le nom du serveur SMTP qui envoie le message électronique.

La valeur par défaut est la valeur de la variable de préférence $PSEmailServer. Si la variable de préférence n’est pas définie et que ce paramètre n’est pas utilisé, la commande Send-MailMessage échoue.

Type:String
Alias:ComputerName
Position:3
Valeur par défaut:$PSEmailServer
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Subject

Le paramètre Subject n’est pas obligatoire. Ce paramètre spécifie l’objet du message électronique.

Type:String
Alias:sub
Position:1
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-To

Le paramètre À est requis. Ce paramètre spécifie l’adresse e-mail du destinataire. S’il existe plusieurs destinataires, séparez leurs adresses par une virgule (,). Entrez les noms (facultatif) et l’adresse e-mail, telles que Name <someone@fabrikam.com>.

Type:String[]
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-UseSsl

Le protocole SSL (Secure Sockets Layer) est utilisé pour établir une connexion sécurisée à l’ordinateur distant pour envoyer du courrier. Par défaut, SSL n’est pas utilisé.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

Entrées

String

Vous pouvez diriger le chemin d’accès et les noms de fichiers des pièces jointes vers Send-MailMessage.

Sorties

None

Cette applet de commande ne génère aucune sortie.