Send-MailMessage

Mengirim pesan email.

Sintaks

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>]

Deskripsi

Send-MailMessage Cmdlet mengirim pesan email dari dalam PowerShell.

Anda harus menentukan server Simple Mail Transfer Protocol (SMTP) atau Send-MailMessage perintah gagal. Gunakan parameter SmtpServer atau atur $PSEmailServer variabel ke server SMTP yang valid. Nilai yang ditetapkan untuk $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 Dari, Ke, dan Subjek diperlukan oleh Send-MailMessage. Contoh ini menggunakan variabel default $PSEmailServer untuk server SMTP, sehingga parameter SmtpServer tidak diperlukan.

$sendMailMessageSplat = @{
    From = 'User01 <user01@fabrikam.com>'
    To = 'User02 <user02@fabrikam.com>'
    Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat

Send-MailMessage Cmdlet menggunakan parameter Dari untuk menentukan pengirim pesan. Parameter Kepada menentukan penerima pesan. Parameter Subjek menggunakan string teks Uji 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

Send-MailMessage Cmdlet menggunakan parameter Dari untuk menentukan pengirim pesan. Parameter Kepada menentukan penerima pesan. Parameter Subjek menjelaskan konten pesan. Parameter Isi adalah konten pesan.

Parameter Lampiran menentukan file di direktori saat ini yang dilampirkan ke pesan email. Parameter Prioritas mengatur pesan ke High prioritas. 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

Send-MailMessage Cmdlet menggunakan parameter Dari untuk menentukan pengirim pesan. Parameter Kepada menentukan penerima pesan. Parameter Cc mengirimkan salinan pesan ke penerima yang ditentukan. Parameter Bcc mengirimkan salinan buta pesan. Salinan buta adalah alamat email yang disembunyikan dari penerima lain. Parameter Subjek adalah pesan karena parameter Isi opsional tidak disertakan.

Parameter Kredensial menentukan kredensial administrator domain digunakan untuk mengirim pesan. Parameter UseSsl menentukan bahwa Secure Socket Layer (SSL) membuat koneksi aman.

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 ke Send-MailMessage.

Type:String[]
Aliases:PsPath
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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>.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Body

Menentukan isi pesan email.

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-BodyAsHtml

Menentukan bahwa nilai parameter Isi berisi HTML.

Type:SwitchParameter
Aliases:BAH
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Cc

Menentukan alamat email tempat salinan karbon (CC) pesan email dikirim. Masukkan nama (opsional) dan alamat email, seperti Name <someone@fabrikam.com>.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 , seperti dari Get-Credential cmdlet.

Kredensial disimpan dalam objek PSCredential dan kata sandi disimpan sebagai SecureString.

Catatan

Untuk informasi selengkapnya tentang perlindungan data SecureString , lihat Seberapa aman SecureString?.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DeliveryNotificationOption

Menentukan opsi pemberitahuan pengiriman untuk pesan email. Anda dapat menentukan beberapa nilai. Tidak ada yang merupakan nilai default. Alias untuk parameter ini adalah DNO.

Pemberitahuan pengiriman dikirim ke alamat di 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 jika pengiriman tidak berhasil.
  • Delay: Beri tahu jika 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.

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

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).
  • bigendianunicode: Mengodekan dalam format UTF-16 menggunakan urutan byte big-endian.
  • bigendianutf32: Mengodekan dalam format UTF-32 menggunakan urutan byte big-endian.
  • oem: Menggunakan pengodean default untuk MS-DOS dan program konsol.
  • unicode: Mengodekan 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 juga memungkinkan ID numerik halaman kode terdaftar (seperti -Encoding 1251) atau nama string halaman kode terdaftar (seperti -Encoding "windows-1251"). Untuk informasi selengkapnya, lihat dokumentasi .NET untuk Encoding.CodePage.

Type:Encoding
Aliases:BE
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Default value:ASCII
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-From

Parameter Dari diperlukan. Parameter ini menentukan alamat email pengirim. Masukkan nama (opsional) dan alamat email, seperti Name <someone@fabrikam.com>.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Port

Menentukan port alternatif pada server SMTP. Nilai defaultnya adalah 25, yang merupakan port SMTP default.

Type:Int32
Position:Named
Default value:25
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Priority

Menentukan prioritas pesan email. Normal adalah default. Nilai yang dapat diterima untuk parameter ini adalah Normal, Tinggi, dan Rendah.

Type:MailPriority
Accepted values:Normal, High, Low
Position:Named
Default value:Normal
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SmtpServer

Menentukan nama server SMTP yang mengirim pesan email.

Nilai default adalah nilai $PSEmailServer variabel preferensi. Jika variabel preferensi tidak diatur dan parameter ini tidak digunakan, Send-MailMessage perintah gagal.

Type:String
Aliases:ComputerName
Position:3
Default value:$PSEmailServer
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Subject

Parameter Subjek tidak diperlukan. Parameter ini menentukan subjek pesan email.

Type:String
Aliases:sub
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-To

Parameter Ke diperlukan. Parameter ini menentukan alamat email penerima. Masukkan nama (opsional) dan alamat email, seperti Name <someone@fabrikam.com>.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-UseSsl

Protokol Secure Sockets Layer (SSL) digunakan untuk membuat koneksi aman ke komputer jarak jauh untuk mengirim email. Secara default, SSL tidak digunakan.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

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.