CmdLet (Commnad-let)
PowerShell의 컴파일된 명령을 의미함.,
이름이 동사-명사 명령이라 쉽게 이해할 수 있음.
ex) Get-Process: 실행중인 프로세스 확인.
명령어 도움말
- Get-Command : 시스템의 모든 명령 목록 반환
- Get-Help : 명령의 사용법 확인
SMTP를 통한 메일 전송 예제 코드
# 10월 30일 - 현재날짜 일수 차이
$dateStart = Get-Date -Format 'yyyy/MM/dd'
$dateEnd = Get-Date '2020/10/30'
$days = (New-TimeSpan -Start $dateStart -End $dateEnd).Days
$fromMailAddress = 'security@gmail.com'
$toMailAddress = 'test@gmail.com'
$subjectString = 'Remaining days!'
$bodyContents = "This mail is from PowerShell you remained : ${days} days"
$smtpServerAddress = 'smtp.gmail.com'
$file = './a.txt'
# Port 465 is technically deprecated.
# The .NET SmtpClient only supports encryption via STARTTLS
$portAddress = 587
Send-MailMessage -From $fromMailAddress -To $toMailAddress -Subject $subjectString -Attachments $file -Body $bodyContents -Credential (Get-Credential) -SmtpServer $smtpServerAddress -Port $portAddress -UseSsl
잠깐!!
우리는 Powershell App을 통해 이메일을 전송하기 때문에
SMTP Gmail 서버를 사용하기 위해서는 Google 계정 보안 환경설정이 필요하다.
실행 결과
Reference
blog.mailtrap.io/powershell-send-email/#Send_an_email_from_PowerShell_using_the_Gmail_SMTP_server
docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-7