Send-MailMessage
Mengirim pesan email.
Sintaks
All
Send-MailMessage
[[-Body] <String>]
[[-SmtpServer] <String>]
[[-Subject] <String>]
[-To] <String[]>
-From <String>
[-Attachments <String[]>]
[-Bcc <String[]>]
[-BodyAsHtml]
[-Encoding <Encoding>]
[-Cc <String[]>]
[-DeliveryNotificationOption <DeliveryNotificationOptions>]
[-Priority <MailPriority>]
[-ReplyTo <String[]>]
[-Credential <PSCredential>]
[-UseSsl]
[-Port <Int32>]
[<CommonParameters>]
Deskripsi
cmdlet Send-MailMessage mengirim pesan email dari dalam PowerShell.
Anda harus menentukan server Simple Mail Transfer Protocol (SMTP) atau perintah Send-MailMessage gagal. Gunakan parameter SmtpServer $PSEmailServer adalah pengaturan SMTP default untuk PowerShell. Untuk informasi selengkapnya, lihat about_Preference_Variables.
Peringatan
Cmdlet Send-MailMessage sudah usang. Cmdlet ini tidak menjamin koneksi aman pada server SMTP. Meskipun tidak ada penggantian langsung yang tersedia di PowerShell, kami sarankan Anda tidak menggunakan Send-MailMessage. Untuk informasi selengkapnya, lihat catatan Kompatibilitas Platform DE0005.
Contoh
Contoh 1: Mengirim email dari satu orang ke orang lain
Contoh ini mengirim pesan email dari satu orang ke orang lain.
Parameter From, To, dan Subject diperlukan oleh Send-MailMessage. Contoh ini menggunakan variabel
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>'
Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat
Cmdlet Send-MailMessage menggunakan parameter From untuk menentukan pengirim pesan. Parameter Untuk menentukan penerima pesan. Parameter Subjek menggunakan string teks Menguji email sebagai pesan karena parameter Isi opsional tidak disertakan.
Contoh 2: Mengirim lampiran
Contoh ini mengirim pesan email dengan lampiran.
$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
Cmdlet Send-MailMessage menggunakan parameter From untuk menentukan pengirim pesan. Parameter Untuk menentukan penerima pesan. Parameter Subjek
Parameter Lampiran menentukan file di direktori saat ini yang dilampirkan ke pesan email. Parameter Prioritas mengatur pesan ke prioritas High. Parameter DeliveryNotificationOption menentukan dua nilai, OnSuccess dan OnFailure. Pengirim akan menerima pemberitahuan email untuk mengonfirmasi keberhasilan atau kegagalan pengiriman pesan.
Parameter SmtpServer mengatur server SMTP ke smtp.fabrikam.com.
Contoh 3: Mengirim email ke milis
Contoh ini mengirim pesan email ke milis.
$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
Cmdlet Send-MailMessage menggunakan parameter From untuk menentukan pengirim pesan. Parameter Untuk menentukan penerima pesan. Parameter
Parameter Kredensial
Parameter
-Attachments
Menentukan jalur dan nama file file yang akan dilampirkan ke pesan email. Anda dapat menggunakan parameter ini atau menyalurkan jalur dan nama file untuk Send-MailMessage.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | PsPath |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Bcc
Menentukan alamat email yang menerima salinan email tetapi tidak terdaftar sebagai penerima pesan. Masukkan nama (opsional) dan alamat email, seperti Name <someone@fabrikam.com>.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Body
Menentukan isi pesan email.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | 2 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-BodyAsHtml
Menentukan bahwa nilai parameter Isi
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | BAH |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Cc
Menentukan alamat email tempat salinan karbon (CC) pesan email dikirim. Masukkan nama (opsional) dan alamat email, seperti Name <someone@fabrikam.com>.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Credential
Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. Defaultnya adalah pengguna saat ini.
Ketik nama pengguna, seperti User01 atau Domain01\User01. Atau, masukkan objek PSCredential
Kredensial disimpan dalam objek PSCredential
Nota
Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.
Properti parameter
| Jenis: | PSCredential |
| Nilai default: | Current user |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-DeliveryNotificationOption
Menentukan opsi pemberitahuan pengiriman untuk pesan email. Anda dapat menentukan beberapa nilai. Tidak ada yang merupakan nilai default. Alias untuk parameter ini DNO.
Pemberitahuan pengiriman dikirim ke alamat dalam parameter Dari.
Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:
-
None: Tidak ada pemberitahuan. -
OnSuccess: Beri tahu apakah pengiriman berhasil. -
OnFailure: Beri tahu apakah pengiriman tidak berhasil. -
Delay: Beri tahu apakah pengiriman tertunda. -
Never: Jangan pernah memberi tahu.
Nilai-nilai ini didefinisikan sebagai enumerasi berbasis bendera. Anda dapat menggabungkan beberapa nilai bersama-sama untuk mengatur beberapa bendera menggunakan parameter ini. Nilai dapat diteruskan ke parameter DeliveryNotification sebagai array nilai atau sebagai string yang dipisahkan koma dari nilai tersebut. Cmdlet akan menggabungkan nilai menggunakan operasi biner-OR. Meneruskan nilai sebagai array adalah opsi paling sederhana dan juga memungkinkan Anda menggunakan penyelesaian tab pada nilai.
Properti parameter
| Jenis: | DeliveryNotificationOptions |
| Nilai default: | None |
| Nilai yang diterima: | None, OnSuccess, OnFailure, Delay, Never |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | DNO |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Encoding
Menentukan jenis pengodean untuk file target. Nilai defaultnya adalah utf8NoBOM.
Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:
-
ascii: Menggunakan pengodean untuk set karakter ASCII (7-bit). -
ansi: Menggunakan pengodean untuk halaman kode ANSI budaya saat ini. Opsi ini ditambahkan di PowerShell 7.4. -
bigendianunicode: Mengenkripsi dalam format UTF-16 menggunakan urutan byte big-endian. -
bigendianutf32: Mengenkode dalam format UTF-32 menggunakan urutan byte big-endian. -
oem: Menggunakan pengkodean default untuk program MS-DOS dan program konsol. -
unicode: Mengode dalam format UTF-16 menggunakan urutan byte little-endian. -
utf7: Mengodekan dalam format UTF-7. -
utf8: Mengodekan dalam format UTF-8. -
utf8BOM: Mengodekan dalam format UTF-8 dengan Byte Order Mark (BOM) -
utf8NoBOM: Mengodekan dalam format UTF-8 tanpa Byte Order Mark (BOM) -
utf32: Mengodekan dalam format UTF-32.
Dimulai dengan PowerShell 6.2, parameter Pengodean
Dimulai dengan PowerShell 7.4, Anda dapat menggunakan nilai
Nota
UTF-7* tidak lagi disarankan untuk digunakan. Sejak PowerShell 7.1, sebuah peringatan akan ditulis jika Anda menentukan utf7 untuk parameter Pengodean .
Properti parameter
| Jenis: | Encoding |
| Nilai default: | ASCII |
| Nilai yang diterima: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | BE |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-From
Parameter Dari diperlukan. Parameter ini menentukan alamat email pengirim. Masukkan nama (opsional) dan alamat email, seperti Name <someone@fabrikam.com>.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Port
Menentukan port alternatif pada server SMTP. Nilai defaultnya adalah 25, yang merupakan port SMTP default.
Properti parameter
| Jenis: | Int32 |
| Nilai default: | 25 |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Priority
Menentukan prioritas pesan email. Normal adalah default. Nilai yang dapat diterima untuk parameter ini adalah Normal, Tinggi, dan Rendah.
Properti parameter
| Jenis: | MailPriority |
| Nilai default: | Normal |
| Nilai yang diterima: | Normal, High, Low |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-ReplyTo
Menentukan alamat email tambahan (selain alamat Dari) yang akan digunakan untuk membalas pesan ini.
Masukkan nama (opsional) dan alamat email, seperti Name <someone@fabrikam.com>.
Parameter ini diperkenalkan di PowerShell 6.2.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-SmtpServer
Menentukan nama server SMTP yang mengirim pesan email.
Nilai default adalah nilai variabel preferensi $PSEmailServer. Jika variabel preferensi tidak diatur dan parameter ini tidak digunakan, perintah Send-MailMessage gagal.
Properti parameter
| Jenis: | String |
| Nilai default: | $PSEmailServer |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Nama Komputer |
Set parameter
(All)
| Position: | 3 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Subject
Parameter Subjek tidak diperlukan. Parameter ini menentukan subjek pesan email.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Subkategori |
Set parameter
(All)
| Position: | 1 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-To
Parameter Ke diperlukan. Parameter ini menentukan alamat email penerima. Masukkan nama (opsional) dan alamat email, seperti Name <someone@fabrikam.com>.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-UseSsl
Protokol Secure Sockets Layer (SSL) digunakan untuk membuat koneksi aman ke komputer jarak jauh untuk mengirim email. Secara default, SSL tidak digunakan.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
String
Anda dapat menyalurkan jalur dan nama file lampiran ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Catatan
Cmdlet Send-MailMessage sudah usang. Untuk informasi selengkapnya, lihat catatan Kompatibilitas Platform DE0005. Cmdlet ini tidak menjamin koneksi aman pada server SMTP.
DE0005 menyarankan penggunaan pustaka pihak ketiga, MailKit. Jika Anda menggunakan Exchange Online, Anda bisa menggunakan Send-MgUserMail dari Microsoft Graph PowerShell SDK.