Aracılığıyla paylaş


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 değişkeni 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

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

parametresi gereklidir. Bu parametre gönderenin e-posta adresini belirtir. 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.