Send-MailMessage
E-posta iletisi gönderir.
Syntax
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
Cmdlet, Send-MailMessage
PowerShell'in içinden bir e-posta iletisi gönderir.
Basit Posta Aktarım Protokolü (SMTP) sunucusu belirtmeniz gerekir, aksi zaman Send-MailMessage
komut başarısız olur. SmtpServer parametresini kullanın veya değişkeni geçerli bir SMTP sunucusu olarak ayarlayın$PSEmailServer
.
Atanan $PSEmailServer
değer, PowerShell için varsayılan SMTP ayarıdır. Daha fazla bilgi için bkz . about_Preference_Variables.
Uyarı
Send-MailMessage
cmdlet'i kullanımdan kaldırıldı. Bu cmdlet SMTP sunucularına güvenli bağlantıları garanti etmez. PowerShell'de hemen yenisi olmasa da, kullanmamanızı Send-MailMessage
öneririz. Daha fazla bilgi için bkz . Platform Uyumluluğu notu DE0005.
Örnekler
Örnek 1: Bir kişiden diğerine e-posta gönderme
Bu örnek, bir kişiden diğerine e-posta iletisi gönderir.
From, To ve Subject parametreleri tarafından Send-MailMessage
gereklidir. Bu örnekte SMTP sunucusu için varsayılan $PSEmailServer
değişken kullanıldığından SmtpServer parametresi gerekli değildir.
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>'
Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat
Cmdlet, Send-MailMessage
iletinin gönderenini belirtmek için From parametresini kullanır. Hedef parametresi, iletinin alıcısını belirtir. İsteğe bağlı Body parametresi dahil olmadığından, Konu parametresi ileti olarak Test postası metin dizesini kullanır.
Örnek 2: Ek gönderme
Bu örnek ek içeren bir e-posta iletisi gönderir.
$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
iletinin gönderenini belirtmek için From parametresini kullanır. Hedef parametresi, iletinin alıcılarını belirtir. Subject parametresi iletinin içeriğini açıklar. Body parametresi iletinin içeriğidir.
Ekler parametresi, e-posta iletisine eklenmiş olan geçerli dizindeki dosyayı belirtir. Priority parametresi iletiyi önceliğe High
ayarlar. DeliveryNotificationOption parametresi iki değer OnSuccess
belirtir ve OnFailure
. Gönderen, ileti tesliminin başarılı veya başarısız olduğunu onaylamak için e-posta bildirimleri alır.
SmtpServer parametresi SMTP sunucusunu olarak smtp.fabrikam.com
ayarlar.
Örnek 3: Posta listesine e-posta gönderme
Bu örnek, posta listesine bir e-posta iletisi gönderir.
$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
iletinin gönderenini belirtmek için From parametresini kullanır. Hedef parametresi, iletinin alıcılarını belirtir. Bilgi parametresi, iletinin bir kopyasını belirtilen alıcıya gönderir. Gizli parametresi iletinin kör bir kopyasını gönderir. Gizli kopya, diğer alıcılardan gizlenen bir e-posta adresidir. İsteğe bağlı Body parametresi dahil olmadığından Subject parametresi iletidir.
Credential parametresi, iletiyi göndermek için etki alanı yöneticisinin kimlik bilgilerinin kullanıldığını belirtir. UseSsl parametresi, Güvenli Yuva Katmanı'nın (SSL) güvenli bir bağlantı oluşturduğunu belirtir.
Parametreler
-Attachments
E-posta iletisine eklenecek dosyaların yolunu ve dosya adlarını belirtir. Bu parametreyi kullanabilir veya yolları ve dosya adlarını adresine aktarabilirsiniz Send-MailMessage
.
Tür: | String[] |
Aliases: | PsPath |
Position: | Named |
varsayılan değer: | None |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Bcc
Postanın bir kopyasını alan ancak iletinin alıcıları olarak listelenmeyen e-posta adreslerini belirtir. Adları (isteğe bağlı) ve gibi Name <someone@fabrikam.com>
e-posta adresini girin.
Tür: | String[] |
Position: | Named |
varsayılan değer: | None |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Body
E-posta iletisinin içeriğini belirtir.
Tür: | String |
Position: | 2 |
varsayılan değer: | None |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-BodyAsHtml
Body parametresinin değerinin HTML içerdiğini belirtir.
Tür: | SwitchParameter |
Aliases: | BAH |
Position: | Named |
varsayılan değer: | None |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Cc
E-posta iletisinin karbon kopyasının (CC) gönderileceği e-posta adreslerini belirtir. Adları (isteğe bağlı) ve gibi Name <someone@fabrikam.com>
e-posta adresini girin.
Tür: | String[] |
Position: | Named |
varsayılan değer: | None |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Bu eylemi gerçekleştirme iznine sahip bir kullanıcı hesabı belirtir. Varsayılan, mevcut kullanıcıdır.
User01 veya Domain01\User01 gibi bir kullanıcı adı yazın. Alternatif olarak, cmdlet'indeki Get-Credential
gibi bir PSCredential nesnesi de girin.
Kimlik bilgileri bir PSCredential nesnesinde depolanır ve parola SecureString olarak depolanır.
Not
SecureString veri koruması hakkında daha fazla bilgi için bkz. SecureString ne kadar güvenli?.
Tür: | PSCredential |
Position: | Named |
varsayılan değer: | Current user |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DeliveryNotificationOption
E-posta iletisi için teslim bildirimi seçeneklerini belirtir. Birden çok değer belirtebilirsiniz. Hiçbiri varsayılan değerdir. Bu parametrenin diğer adı DNO'dur.
Teslim bildirimleri From parametresindeki adrese gönderilir.
Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:
None
: Bildirim yok.OnSuccess
: Teslimin başarılı olup olmadığını bildirin.OnFailure
: Teslimin başarısız olup olmadığını bildirin.Delay
: Teslimin gecikip ertelenmediğini bildirin.Never
: Hiçbir zaman bildirimde bulunmayın.
Bu değerler, bayrak tabanlı bir numaralandırma olarak tanımlanır. Bu parametreyi kullanarak birden çok bayrak ayarlamak için birden çok değeri birlikte birleştirebilirsiniz. Değerler DeliveryNotification parametresine bir değer dizisi veya bu değerlerin virgülle ayrılmış dizesi olarak geçirilebilir. cmdlet'i bir ikili OR işlemi kullanarak değerleri birleştirir. Değerleri dizi olarak geçirmek en basit seçenektir ve değerler üzerinde sekme tamamlama özelliğini kullanmanıza da olanak tanır.
Tür: | DeliveryNotificationOptions |
Aliases: | DNO |
kabul edilen değerler: | None, OnSuccess, OnFailure, Delay, Never |
Position: | Named |
varsayılan değer: | None |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Encoding
Hedef dosya için kodlama türünü belirtir. Varsayılan değer şudur: utf8NoBOM
.
Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:
ascii
: ASCII (7 bit) karakter kümesi için kodlamayı kullanır.ansi
: Geçerli kültürün ANSI kod sayfasının kodlamasını kullanır. Bu seçenek PowerShell 7.4'e eklendi.bigendianunicode
: Büyük endian bayt sırasını kullanarak UTF-16 biçiminde kodlar.bigendianutf32
: Büyük endian bayt sırasını kullanarak UTF-32 biçiminde kodlar.oem
: MS-DOS ve konsol programları için varsayılan kodlamayı kullanır.unicode
: Little-endian bayt sırasını kullanarak UTF-16 biçiminde kodlar.utf7
: UTF-7 biçiminde kodlar.utf8
: UTF-8 biçiminde kodlar.utf8BOM
: Bayt Sırası İşareti (BOM) ile UTF-8 biçiminde kodlarutf8NoBOM
: Bayt Sipariş İşareti (BOM) olmadan UTF-8 biçiminde kodlarutf32
: UTF-32 biçiminde kodlar.
PowerShell 6.2'den başlayarak Kodlama parametresi, kayıtlı kod sayfalarının (gibi-Encoding 1251
) sayısal kimliklerine veya kayıtlı kod sayfalarının dize adlarına da (gibi-Encoding "windows-1251"
) izin verir. Daha fazla bilgi için Encoding.CodePage için .NET belgelerine bakın.
PowerShell 7.4'den başlayarak Kodlama parametresinin değerini kullanarak Ansi
geçerli kültürün ANSI kod sayfasının sayısal kimliğini el ile belirtmek zorunda kalmadan geçirebilirsiniz.
Not
UTF-7* artık kullanılması önerilmez. PowerShell 7.1'den itibaren Kodlama parametresini belirtirseniz utf7
bir uyarı yazılır.
Tür: | Encoding |
Aliases: | BE |
kabul edilen değerler: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
varsayılan değer: | ASCII |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-From
From parametresi gereklidir. Bu parametre gönderenin e-posta adresini belirtir. Ad (isteğe bağlı) ve gibi Name <someone@fabrikam.com>
bir e-posta adresi girin.
Tür: | String |
Position: | Named |
varsayılan değer: | None |
Gerekli: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
SMTP sunucusunda alternatif bir bağlantı noktası belirtir. Varsayılan değer, varsayılan SMTP bağlantı noktası olan 25'tir.
Tür: | Int32 |
Position: | Named |
varsayılan değer: | 25 |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Priority
E-posta iletisinin önceliğini belirtir. Normal varsayılan değerdir. Bu parametre için kabul edilebilir değerler Normal, Yüksek ve Düşük'tir.
Tür: | MailPriority |
kabul edilen değerler: | Normal, High, Low |
Position: | Named |
varsayılan değer: | Normal |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ReplyTo
Bu iletiyi yanıtlamak için kullanılacak ek e-posta adreslerini (Kimden adresi dışında) belirtir.
Adları (isteğe bağlı) ve gibi Name <someone@fabrikam.com>
e-posta adresini girin.
Bu parametre PowerShell 6.2'de kullanıma sunulmuştur.
Tür: | String[] |
Position: | Named |
varsayılan değer: | None |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SmtpServer
E-posta iletisini gönderen SMTP sunucusunun adını belirtir.
Varsayılan değer, tercih değişkeninin $PSEmailServer
değeridir. Tercih değişkeni ayarlanmadıysa ve bu parametre kullanılmıyorsa, Send-MailMessage
komut başarısız olur.
Tür: | String |
Aliases: | ComputerName |
Position: | 3 |
varsayılan değer: | $PSEmailServer |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Subject
Subject parametresi gerekli değildir. Bu parametre, e-posta iletisinin konusunu belirtir.
Tür: | String |
Aliases: | sub |
Position: | 1 |
varsayılan değer: | None |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-To
To parametresi gereklidir. Bu parametre alıcının e-posta adresini belirtir. Adları (isteğe bağlı) ve gibi Name <someone@fabrikam.com>
e-posta adresini girin.
Tür: | String[] |
Position: | 0 |
varsayılan değer: | None |
Gerekli: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UseSsl
Güvenli Yuva Katmanı (SSL) protokolü, posta göndermek üzere uzak bilgisayara güvenli bir bağlantı kurmak için kullanılır. Varsayılan olarak SSL kullanılmaz.
Tür: | SwitchParameter |
Position: | Named |
varsayılan değer: | None |
Gerekli: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Girişler
Eklerin yolunu ve dosya adlarını bu cmdlet'e aktarabilirsiniz.
Çıkışlar
None
Bu cmdlet çıkış döndürmez.
Notlar
Send-MailMessage
cmdlet'i kullanımdan kaldırıldı. Daha fazla bilgi için bkz . Platform Uyumluluğu notu DE0005. Bu cmdlet SMTP sunucularına güvenli bağlantıları garanti etmez.
DE0005 , mailkit üçüncü taraf kitaplığının kullanılmasını önerir. Exchange Online kullanıyorsanız, Microsoft Graph PowerShell SDK'sından Send-MgUserMail'i kullanabilirsiniz.
İlişkili Bağlantılar
PowerShell