Send-MailMessage
전자 메일 메시지를 보냅니다.
Syntax
Send-MailMessage
[-To] <string[]>
[-Subject] <string>
[[-Body] <string>]
[[-SmtpServer] <string>]
-From <string>
[-Attachments <string[]>]
[-Bcc <string[]>]
[-BodyAsHtml]
[-Encoding <Encoding>]
[-Cc <string[]>]
[-DeliveryNotificationOption <DeliveryNotificationOptions>]
[-Priority <MailPriority>]
[-Credential <pscredential>]
[-UseSsl]
[-Port <int>]
[<CommonParameters>]
Description
cmdlet은 Send-MailMessage
PowerShell 내에서 전자 메일 메시지를 보냅니다.
SMTP(Simple Mail Transfer Protocol) 서버를 지정해야 합니다. 그렇지 않으면 명령이 Send-MailMessage
실패합니다. SmtpServer 매개 변수를 사용하거나 변수를 $PSEmailServer
유효한 SMTP 서버로 설정합니다.
할당된 $PSEmailServer
값은 PowerShell의 기본 SMTP 설정입니다. 자세한 내용은 about_Preference_Variables 참조하세요.
Warning
Send-MailMessage
cmdlet은 사용되지 않습니다. 이 cmdlet은 SMTP 서버에 대한 보안 연결을 보장하지 않습니다. PowerShell에서 즉시 교체할 수 있는 것은 없지만 사용하지 Send-MailMessage
않는 것이 좋습니다. 자세한 내용은 플랫폼 호환성 참고 DE0005를 참조하세요.
예제
예제 1: 한 사람으로부터 다른 사람에게 전자 메일 보내기
이 예제에서는 한 사람의 전자 메일 메시지를 다른 사람에게 보냅니다.
From, To 및 Subject 매개 변수는 .에 필요합니다Send-MailMessage
. 이 예제에서는 SMTP 서버에 기본 변수를 사용 $PSEmailServer
하므로 SmtpServer 매개 변수가 필요하지 않습니다.
$sendMailMessageSplat = @{
From = 'User01 <user01@fabrikam.com>'
To = 'User02 <user02@fabrikam.com>'
Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat
cmdlet은 Send-MailMessage
From 매개 변수를 사용하여 메시지의 발신자를 지정합니다. To 매개 변수는 메시지의 받는 사람을 지정합니다. 선택적 본문 매개 변수가 포함되지 않기 때문에 Subject 매개 변수는 텍스트 문자열 테스트 메일을 메시지로 사용합니다.
예제 2: 첨부 파일 보내기
이 예제에서는 첨부 파일이 포함된 전자 메일 메시지를 보냅니다.
$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
From 매개 변수를 사용하여 메시지의 발신자를 지정합니다. To 매개 변수는 메시지의 받는 사람을 지정합니다. Subject 매개 변수는 메시지의 내용을 설명합니다. Body 매개 변수는 메시지의 내용입니다.
Attachments 매개 변수는 전자 메일 메시지에 첨부된 현재 디렉터리의 파일을 지정합니다. Priority 매개 변수는 메시지를 우선 순위로 High
설정합니다. DeliveryNotificationOption 매개 변수는 두 값 OnSuccess
과 OnFailure
. 보낸 사람에게 메시지 배달의 성공 또는 실패를 확인하는 메일 알림 받습니다.
SmtpServer 매개 변수는 SMTP 서버를 .로 smtp.fabrikam.com
설정합니다.
예제 3: 메일링 목록에 전자 메일 보내기
이 예제에서는 메일 목록에 전자 메일 메시지를 보냅니다.
$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
From 매개 변수를 사용하여 메시지의 발신자를 지정합니다. To 매개 변수는 메시지의 받는 사람을 지정합니다. Cc 매개 변수는 지정된 받는 사람에게 메시지의 복사본을 보냅니다. 숨은 참조 매개 변수는 메시지의 블라인드 복사본을 보냅니다. 블라인드 복사본은 다른 받는 사람이 숨기는 전자 메일 주소입니다. 선택적 Body 매개 변수가 포함되지 않기 때문에 Subject 매개 변수는 메시지입니다.
자격 증명 매개 변수는 메시지를 보내는 데 도메인 관리자의 자격 증명을 사용하도록 지정합니다. UseSsl 매개 변수는 SSL(Secure Socket Layer)이 보안 연결을 만들게 지정합니다.
매개 변수
-Attachments
전자 메일 메시지에 첨부할 파일의 경로 및 파일 이름을 지정합니다. 이 매개 변수를 사용하거나 경로 및 파일 이름을 파이프할 Send-MailMessage
수 있습니다.
형식: | String[] |
Aliases: | PsPath |
Position: | Named |
기본값: | None |
필수: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Bcc
메일의 복사본을 수신하지만 메시지의 받는 사람으로 나열되지 않는 전자 메일 주소를 지정합니다. 이름(선택 사항) 및 전자 메일 주소(예: Name <someone@fabrikam.com>
.)를 입력합니다.
형식: | String[] |
Position: | Named |
기본값: | None |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Body
전자 메일 메시지의 내용을 지정합니다.
형식: | String |
Position: | 2 |
기본값: | None |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BodyAsHtml
Body 매개 변수의 값에 HTML이 포함되도록 지정합니다.
형식: | SwitchParameter |
Aliases: | BAH |
Position: | Named |
기본값: | None |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Cc
전자 메일 메시지의 CC(탄소 복사본)를 보낼 전자 메일 주소를 지정합니다. 이름(선택 사항) 및 전자 메일 주소(예: Name <someone@fabrikam.com>
.)를 입력합니다.
형식: | String[] |
Position: | Named |
기본값: | None |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
이 작업을 수행할 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.
User01 또는 Domain01\User01과 같은 사용자 이름을 입력합니다. 또는 cmdlet의 개체와 같은 PSCredential 개체를 Get-Credential
입력합니다.
자격 증명은 PSCredential 개체에 저장되고 암호는 SecureString으로 저장됩니다.
참고 항목
SecureString 데이터 보호에 대한 자세한 내용은 SecureString이 얼마나 안전한가요?를 참조하세요.
형식: | PSCredential |
Position: | Named |
기본값: | Current user |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DeliveryNotificationOption
전자 메일 메시지에 대한 배달 알림 옵션을 지정합니다. 값을 여러 개 지정할 수 있습니다. None이 기본값입니다. 이 매개 변수의 별칭은 DNO입니다.
배달 알림은 From 매개 변수의 주소로 전송됩니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
None
: 알림이 없습니다.OnSuccess
: 배달에 성공했는지 알립니다.OnFailure
: 배달에 실패하면 알립니다.Delay
: 배달이 지연되었는지 알립니다.Never
: 알리지 마세요.
이러한 값은 플래그 기반 열거형으로 정의됩니다. 이 매개 변수를 사용하여 여러 값을 결합하여 여러 플래그를 설정할 수 있습니다. 값은 DeliveryNotification 매개 변수에 값 배열 또는 해당 값의 쉼표로 구분된 문자열로 전달될 수 있습니다. cmdlet은 이진 OR 연산을 사용하여 값을 결합합니다. 값을 배열로 전달하는 것이 가장 간단한 옵션이며 값에 대한 탭 완성을 사용할 수도 있습니다.
형식: | DeliveryNotificationOptions |
Aliases: | DNO |
허용되는 값: | None, OnSuccess, OnFailure, Delay, Never |
Position: | Named |
기본값: | None |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encoding
대상 파일의 인코딩 형식을 지정합니다. 기본값은 Default
입니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
ASCII
ASCII(7비트) 문자 집합을 사용합니다.BigEndianUnicode
big-endian 바이트 순서로 UTF-16을 사용합니다.Default
시스템의 활성 코드 페이지(일반적으로 ANSI)에 해당하는 인코딩을 사용합니다.OEM
시스템의 현재 OEM 코드 페이지에 해당하는 인코딩을 사용합니다.Unicode
little-endian 바이트 순서로 UTF-16을 사용합니다.UTF7
UTF-7을 사용합니다.UTF8
UTF-8을 사용합니다.UTF32
little-endian 바이트 순서로 UTF-32를 사용합니다.
형식: | Encoding |
Aliases: | BE |
허용되는 값: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
기본값: | Default |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-From
From 매개 변수가 필요합니다. 이 매개 변수는 보낸 사람의 전자 메일 주소를 지정합니다. 이름(선택 사항) 및 전자 메일 주소(예: Name <someone@fabrikam.com>
.)를 입력합니다.
형식: | String |
Position: | Named |
기본값: | None |
필수: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Port
SMTP 서버에서 대체 포트를 지정합니다. 기본값은 기본 SMTP 포트인 25입니다.
형식: | Int32 |
Position: | Named |
기본값: | 25 |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Priority
전자 메일 메시지의 우선 순위를 지정합니다. Normal이 기본값입니다. 이 매개 변수에 허용되는 값은 Normal, High 및 Low입니다.
형식: | MailPriority |
허용되는 값: | Normal, High, Low |
Position: | Named |
기본값: | Normal |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SmtpServer
전자 메일 메시지를 보내는 SMTP 서버의 이름을 지정합니다.
기본값은 기본 설정 변수의 $PSEmailServer
값입니다. 기본 설정 변수가 설정되어 있지 않고 이 매개 변수를 사용하지 않으면 명령이 Send-MailMessage
실패합니다.
형식: | String |
Aliases: | ComputerName |
Position: | 3 |
기본값: | $PSEmailServer |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Subject
Subject 매개 변수는 필요하지 않습니다. 이 매개 변수는 전자 메일 메시지의 제목을 지정합니다.
형식: | String |
Aliases: | sub |
Position: | 1 |
기본값: | None |
필수: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-To
To 매개 변수가 필요합니다. 이 매개 변수는 받는 사람의 전자 메일 주소를 지정합니다. 이름(선택 사항) 및 전자 메일 주소(예: Name <someone@fabrikam.com>
.)를 입력합니다.
형식: | String[] |
Position: | 0 |
기본값: | None |
필수: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSsl
SSL(Secure Sockets Layer) 프로토콜은 메일을 보낼 원격 컴퓨터에 대한 보안 연결을 설정하는 데 사용됩니다. 기본적으로 SSL은 사용되지 않습니다.
형식: | SwitchParameter |
Position: | Named |
기본값: | None |
필수: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
입력
첨부 파일의 경로와 파일 이름을 이 cmdlet으로 파이프할 수 있습니다.
출력
None
이 cmdlet은 출력을 반환하지 않습니다.
참고
Send-MailMessage
cmdlet은 사용되지 않습니다. 자세한 내용은 플랫폼 호환성 참고 DE0005를 참조하세요. 이 cmdlet은 SMTP 서버에 대한 보안 연결을 보장하지 않습니다.
DE0005 는 타사 라이브러리 인 MailKit 사용을 제안합니다. Exchange Online을 사용하는 경우 Microsoft Graph PowerShell SDK에서 Send-MgUserMail을 사용할 수 있습니다.
관련 링크
PowerShell