Send-MailMessage
E-posta iletisi gönderir.
Sözdizimi
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>]
Description
Send-MailMessage cmdlet'i PowerShell'in içinden bir e-posta iletisi gönderir.
Basit Posta Aktarım Protokolü (SMTP) sunucusu belirtmeniz gerekir veya Send-MailMessage komutu başarısız olur.
SmtpServer parametresini kullanın veya $PSEmailServer değişkenini geçerli bir SMTP sunucusuna ayarlayın.
$PSEmailServer atanan 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, Send-MailMessagekullanmamanızı ö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, Tove Subject parametreleri Send-MailMessageiçin gereklidir. Bu örnekte SMTP sunucusu için varsayılan
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>'
Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat
Send-MailMessage cmdlet'i, iletinin gönderenini belirtmek için From parametresini kullanır.
parametresi iletinin alıcısını belirtir.
Konu parametresi, isteğe bağlı Gövde parametresi dahil olmadığından ileti olarak posta test 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
Send-MailMessage cmdlet'i, iletinin gönderenini belirtmek için From parametresini kullanır.
parametresi iletinin alıcılarını belirtir.
Konu parametresi iletinin içeriğini açıklar.
Gövde parametresi iletinin içeriğidir.
Ekler parametresi, e-posta iletisine eklenmiş geçerli dizindeki dosyayı belirtir.
Önceliği parametresi iletiyi High önceliğe ayarlar.
DeliveryNotificationOption parametresi OnSuccess ve OnFailureiki değer belirtir. 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 smtp.fabrikam.comolarak 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
Send-MailMessage cmdlet'i, iletinin gönderenini belirtmek için From parametresini kullanır.
parametresi iletinin alıcılarını belirtir.
Bilgi parametresi iletinin bir kopyasını belirtilen alıcıya gönderir.
Gizli parametresi iletinin bir gizli kopyasını gönderir. Gizli kopya, diğer alıcılardan gizlenen bir e-posta adresidir. İsteğe bağlı Gövde parametresi dahil olmadığından Konu parametresi iletidir.
Kimlik Bilgisi parametresi, iletiyi göndermek için bir 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ı Send-MailMessage.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | PsPath |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | True |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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 Name <someone@fabrikam.com>gibi e-posta adresini girin.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Body
E-posta iletisinin içeriğini belirtir.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 2 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-BodyAsHtml
Gövde parametresinin değerinin HTML içerdiğini belirtir.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | BAŞ |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Cc
E-posta iletisinin karbon kopyasının (CC) gönderileceği e-posta adreslerini belirtir. adları (isteğe bağlı) ve Name <someone@fabrikam.com>gibi e-posta adresini girin.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Credential
Bu eylemi gerçekleştirme iznine sahip bir kullanıcı hesabı belirtir. Varsayılan değer mevcut kullanıcıdır.
User01 veya Domain01\User01gibi bir kullanıcı adı yazın. Alternatif olarak, cmdlet'indeki gibi bir Get-Credential nesnesi de girin.
Kimlik bilgileri bir PSCredential nesnesinde depolanır ve parola SecureStringolarak depolanır.
Uyarı
SecureString veri koruması hakkında daha fazla bilgi için bkz. SecureString ne kadar güvenli?.
Parametre özellikleri
| Tür: | PSCredential |
| Default value: | Current user |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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
Teslim bildirimleri, Kimden 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: Teslimatın gecikip ertelenmediğini bildirin. -
Never: Hiçbir zaman bildirmeyin.
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.
Parametre özellikleri
| Tür: | DeliveryNotificationOptions |
| Default value: | None |
| Kabul edilen değerler: | None, OnSuccess, OnFailure, Delay, Never |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | DNO |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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: Küçük-öncelikli bayt sırası kullanılarak UTF-16 biçiminde kodlanır. -
utf7: UTF-7 biçiminde kodlar. -
utf8: UTF-8 biçiminde kodlar. -
utf8BOM: Bayt Sırası İşareti (BOM) ile UTF-8 biçiminde kodlar -
utf8NoBOM: Bayt Sırası İşareti (BOM) olmadan UTF-8 biçiminde kodlar -
utf32: UTF-32 biçiminde kodlar.
PowerShell 6.2'den başlayarak, Kodlama parametresi, kayıtlı kod sayfalarının sayısal kimliklerine (-Encoding 1251gibi) veya kayıtlı kod sayfalarının dize adlarına (-Encoding "windows-1251"gibi) de izin verir. Daha fazla bilgi için Encoding.CodePageiçin .NET belgelerine bakın.
PowerShell 7.4'den başlayarak, Ansi parametresinin değerini kullanarak geçerli kültürün ANSI kod sayfasının sayısal kimliğini el ile belirtmek zorunda kalmadan geçirebilirsiniz.
Uyarı
UTF-7* artık kullanılması önerilmez. PowerShell 7.1'den itibaren, utf7 parametresi için belirtirseniz bir uyarı yazılır.
Parametre özellikleri
| Tür: | Encoding |
| Default value: | ASCII |
| Kabul edilen değerler: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | BE |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-From
Name <someone@fabrikam.com>gibi bir ad (isteğe bağlı) ve e-posta adresi girin.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Port
SMTP sunucusunda alternatif bir bağlantı noktası belirtir. Varsayılan değer, varsayılan SMTP bağlantı noktası olan 25'tir.
Parametre özellikleri
| Tür: | Int32 |
| Default value: | 25 |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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.
Parametre özellikleri
| Tür: | MailPriority |
| Default value: | Normal |
| Kabul edilen değerler: | Normal, High, Low |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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 Name <someone@fabrikam.com>gibi e-posta adresini girin.
Bu parametre PowerShell 6.2'de kullanıma sunulmuştur.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-SmtpServer
E-posta iletisini gönderen SMTP sunucusunun adını belirtir.
Varsayılan değer, $PSEmailServer tercih değişkeninin değeridir. Tercih değişkeni ayarlanmadıysa ve bu parametre kullanılmıyorsa, Send-MailMessage komutu başarısız olur.
Parametre özellikleri
| Tür: | String |
| Default value: | $PSEmailServer |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Bilgisayar Adı |
Parametre kümeleri
(All)
| Position: | 3 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Subject
Konu parametresi gerekli değildir. Bu parametre, e-posta iletisinin konusunu belirtir.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | yedek |
Parametre kümeleri
(All)
| Position: | 1 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-To
parametresi gereklidir. Bu parametre alıcının e-posta adresini belirtir. adları (isteğe bağlı) ve Name <someone@fabrikam.com>gibi e-posta adresini girin.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | 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.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
String
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 kullanabilirsiniz.