Send-MailMessage
Envoie un e-mail.
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>]
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 $PSEmailServer
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.
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.
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>'
Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat
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 Test mail comme message, car le paramètre facultatif Body n’est pas inclus.
Cet exemple envoie un message électronique avec une pièce jointe.
$sendMailMessageSplat = @{
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'
}
Send-MailMessage @sendMailMessageSplat
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 High
priorité. 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
.
Cet exemple envoie un e-mail à une liste de diffusion.
$sendMailMessageSplat = @{
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 = $true
}
Send-MailMessage @sendMailMessageSplat
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 corps facultatif 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.
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 |
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 |
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 |
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 |
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 |
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.
Notes
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 |
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 |
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). -
ansi
: utilise l’encodage pour la page de codes ANSI de la culture actuelle. Cette option a été ajoutée dans PowerShell 7.4. -
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.
À compter de PowerShell 7.4, vous pouvez utiliser la valeur Ansi
pour le paramètre d’encodage de pour passer l’ID numérique de la page de codes ANSI de la culture actuelle sans avoir à le spécifier manuellement.
Notes
UTF-7* n’est plus recommandé d’utiliser. À partir de PowerShell 7.1, un avertissement est écrit si vous spécifiez utf7
pour le paramètre d’encodage .
Type: | Encoding |
Alias: | BE |
Valeurs acceptées: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Valeur par défaut: | ASCII |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
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 |
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 |
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 |
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 |
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 |
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 |
Le paramètre À est requis. Ce paramètre spécifie l’adresse e-mail du destinataire. 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 |
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 |
Vous pouvez diriger le chemin d’accès et les noms de fichiers des pièces jointes vers cette applet de commande.
None
Cette applet de commande ne retourne aucune sortie.
L’applet de commande Send-MailMessage
est obsolète. Pour plus d’informations, consultez note de compatibilité de plateforme DE0005. Cette applet de commande ne garantit pas les connexions sécurisées aux serveurs SMTP.
DE0005 suggère d’utiliser la bibliothèque tierce MailKit. Si vous utilisez Exchange Online, vous pouvez utiliser le Send-MgUserMail à partir du Kit de développement logiciel (SDK) Microsoft Graph PowerShell.
Commentaires sur PowerShell
PowerShell est un projet open source. Sélectionnez un lien pour fournir des commentaires :