Send-MailMessage
Inviare un messaggio di posta elettronica.
Sintassi
All
Send-MailMessage
[-To] <string[]>
[-Subject] <string>
[[-Body] <string>]
[[-SmtpServer] <string>]
-From <string>
[-Attachments <string[]>]
[-Bcc <string[]>]
[-BodyAsHtml]
[-Encoding <Encoding>]
[-Cc <string[]>]
[-DeliveryNotificationOption <DeliveryNotificationOptions>]
[-Priority <MailPriority>]
[-Credential <pscredential>]
[-UseSsl]
[-Port <int>]
[<CommonParameters>]
Descrizione
Il Send-MailMessage cmdlet invia un messaggio di posta elettronica dall'interno di PowerShell.
È necessario specificare un server SMTP (Simple Mail Transfer Protocol), altrimenti il Send-MailMessage comando non riesce. Utilizzare il parametro SmtpServer o impostare la $PSEmailServer variabile su un server SMTP valido.
Il valore assegnato a $PSEmailServer è l'impostazione SMTP predefinita per PowerShell. Per altre informazioni, vedere about_Preference_Variables.
Avvertimento
Il cmdlet Send-MailMessage è obsoleto. Questo cmdlet non garantisce connessioni sicure ai server SMTP. Anche se in PowerShell non è disponibile alcuna sostituzione immediata, è consigliabile non usare Send-MailMessage. Per altre informazioni, vedere La nota sulla compatibilità della piattaforma DE0005.
Esempio
Esempio 1: inviare un'e-mail da una persona a un'altra persona
In questo esempio viene inviato un messaggio di posta elettronica da una persona a un'altra.
I parametri Da, A e Soggetto sono obbligatori da Send-MailMessage. In questo esempio viene utilizzata la variabile predefinita $PSEmailServer per il server SMTP, pertanto il parametro SmtpServer non è necessario.
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>'
Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat
Il Send-MailMessage cmdlet utilizza il parametro From per specificare il mittente del messaggio. Il parametro To consente di specificare il destinatario del messaggio. Il parametro Subject usa la stringa di testo Test mail come messaggio perché il parametro Corpo facoltativo non è incluso.
Esempio 2: Inviare un allegato
In questo esempio viene inviato un messaggio di posta elettronica con un allegato.
$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
Il Send-MailMessage cmdlet utilizza il parametro From per specificare il mittente del messaggio. Il parametro To consente di specificare i destinatari del messaggio. Il parametro Subject descrive il contenuto del messaggio. Il parametro Body è il contenuto del messaggio.
Il parametro Attachments consente di specificare il file nella directory corrente collegata al messaggio di posta elettronica. Il parametro Priority imposta il messaggio su High priority. Il parametro DeliveryNotificationOption specifica due valori e OnSuccessOnFailure. Il mittente riceverà notifiche via e-mail per confermare l'esito positivo o negativo della consegna del messaggio.
Il parametro SmtpServer imposta il server SMTP su smtp.fabrikam.com.
Esempio 3: Inviare un'email a una mailing list
In questo esempio viene inviato un messaggio di posta elettronica a una lista di distribuzione.
$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
Il Send-MailMessage cmdlet utilizza il parametro From per specificare il mittente del messaggio. Il parametro To consente di specificare i destinatari del messaggio. Il parametro Cc invia una copia del messaggio al destinatario specificato. Il parametro Ccn invia una copia nascosta del messaggio. Una copia non vedente è un indirizzo di posta elettronica nascosto agli altri destinatari. Il parametro Subject è il messaggio perché il parametro Body facoltativo non è incluso.
Il parametro Credential consente di specificare che le credenziali di un amministratore di dominio vengono utilizzate per inviare il messaggio. Il parametro UseSsl consente di specificare che SSL (Secure Socket Layer) crea una connessione sicura.
Parametri
-Attachments
Specifica il percorso e i nomi dei file da allegare al messaggio di posta elettronica. È possibile utilizzare questo parametro o reindirizzare i percorsi e i nomi dei file a Send-MailMessage.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | PsPath |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Bcc
Specifica gli indirizzi di posta elettronica che ricevono una copia del messaggio, ma non sono elencati come destinatari del messaggio. Inserisci i nomi (facoltativo) e l'indirizzo e-mail, ad esempio Name <someone@fabrikam.com>.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Body
Specifica il contenuto del messaggio di posta elettronica.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 2 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-BodyAsHtml
Specifica che il valore del parametro Body contiene HTML.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | BAH |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Cc
Specifica gli indirizzi di posta elettronica a cui viene inviata una copia per conoscenza (CC) del messaggio di posta elettronica. Inserisci i nomi (facoltativo) e l'indirizzo e-mail, ad esempio Name <someone@fabrikam.com>.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Credential
Specifica un account utente autorizzato a eseguire questa azione. Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio User01 o Domain01\User01. In alternativa, immettere un oggetto PSCredential , ad esempio uno del Get-Credential cmdlet.
Le credenziali vengono archiviate in un oggetto PSCredential e la password viene archiviata come SecureString.
Annotazioni
Per ulteriori informazioni sulla protezione dei dati di SecureString, vedere Quanto è sicuro SecureString?.
Proprietà dei parametri
| Tipo: | PSCredential |
| Valore predefinito: | Current user |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-DeliveryNotificationOption
Specifica le opzioni di notifica di recapito per il messaggio di posta elettronica. È possibile specificare più valori. Nessuno è il valore predefinito. L'alias per questo parametro è DNO.
Le notifiche di recapito vengono inviate all'indirizzo nel parametro From .
I valori accettabili per questo parametro sono i seguenti:
-
None: nessuna notifica. -
OnSuccess: notifica se il recapito ha esito positivo. -
OnFailure: notifica se il recapito non riesce. -
Delay: notifica se il recapito è ritardato. -
Never: non inviare mai una notifica.
Questi valori sono definiti come un'enumerazione basata su flag. È possibile combinare più valori per impostare più flag usando questo parametro. I valori possono essere passati al parametro DeliveryNotification come matrice di valori o come stringa delimitata da virgole di tali valori. Il cmdlet combina i valori usando un'operazione binary-OR. Il passaggio di valori come array è l'opzione più semplice e consente anche di usare il completamento automatico con il tasto tab sui valori.
Proprietà dei parametri
| Tipo: | DeliveryNotificationOptions |
| Valore predefinito: | None |
| Valori accettati: | None, OnSuccess, OnFailure, Delay, Never |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | DNO |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Encoding
Specifica il tipo di codifica per il file di destinazione. Il valore predefinito è Default.
I valori accettabili per questo parametro sono i seguenti:
-
ASCIIusa il set di caratteri ASCII (a 7 bit). -
BigEndianUnicodeusa UTF-16 con l'ordine dei byte "big-endian". -
DefaultUsa la codifica corrispondente alla tabella codici attiva del sistema (in genere ANSI). -
OEMUsa la codifica corrispondente alla tabella codici OEM corrente del sistema. -
Unicodeusa UTF-16 con l'ordine dei byte little-endian. -
UTF7usa UTF-7. -
UTF8usa UTF-8. -
UTF32utilizza UTF-32 con l'ordine dei byte in formato little-endian.
Proprietà dei parametri
| Tipo: | Encoding |
| Valore predefinito: | Default |
| Valori accettati: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | ESSERE |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-From
Il parametro From è obbligatorio. Questo parametro specifica l'indirizzo e-mail del mittente. Inserisci un nome (facoltativo) e un indirizzo e-mail, ad esempio Name <someone@fabrikam.com>.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Port
Specifica una porta alternativa sul server SMTP. Il valore predefinito è 25, che è la porta SMTP predefinita.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | 25 |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Priority
Specifica la priorità del messaggio di posta elettronica. Normale è l'impostazione predefinita. I valori accettabili per questo parametro sono Normale, Alto e Basso.
Proprietà dei parametri
| Tipo: | MailPriority |
| Valore predefinito: | Normal |
| Valori accettati: | Normal, High, Low |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-SmtpServer
Specifica il nome del server SMTP che invia il messaggio e-mail.
Il valore predefinito è il valore della variabile di $PSEmailServer preferenza. Se la variabile di preferenza non è impostata e questo parametro non viene usato, il Send-MailMessage comando ha esito negativo.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | $PSEmailServer |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Nome del Computer |
Set di parametri
(All)
| Posizione: | 3 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Subject
Il parametro Subject non è obbligatorio. Questo parametro specifica l'oggetto del messaggio di posta elettronica.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | sostituto |
Set di parametri
(All)
| Posizione: | 1 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-To
Il parametro To è obbligatorio . Questo parametro consente di specificare l'indirizzo di posta elettronica del destinatario. Inserisci i nomi (facoltativo) e l'indirizzo e-mail, ad esempio Name <someone@fabrikam.com>.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-UseSsl
Il protocollo SSL (Secure Sockets Layer) viene utilizzato per stabilire una connessione sicura al computer remoto per l'invio di posta. Per impostazione predefinita, SSL non viene usato.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
String
È possibile inviare tramite pipe il percorso e i nomi di file degli allegati a questo cmdlet.
Output
None
Questo cmdlet non restituisce alcun output.
Note
Il cmdlet Send-MailMessage è obsoleto. Per altre informazioni, vedere La nota sulla compatibilità della piattaforma DE0005. Questo cmdlet non garantisce connessioni sicure ai server SMTP.
DE0005 suggerisce l'uso della libreria di terze parti MailKit. Se si usa Exchange Online, è possibile usare Send-MgUserMail da Microsoft Graph PowerShell SDK.