Powershell

Send-MailMessage (구글 SMTP 서버를 이용한 메일 전송)

김모우 2020. 12. 22. 17:53
728x90
반응형

 

구글 SMTP 서버를 활용하여 Powershell의 Send-MailMessage 커맨드를 이용하여 메일 전송 테스트를 진행해보겠습니다.

 

 

1.  Send-MailMessage 커맨드 정보 확인

 

- 아래 명령어를 통해서 해당 커맨드 매개 변수 및 사용법을 확인해봅니다.
> Get-Help Send-MailMessage


: 위와 같이 표기되는데 좀 더 자세한 정보를 위해 아래와 같이 명령어를 실행 시켜줍니다.

> Get-Help Send-MailMessage -Detailed


: 위와 같이 사용되는 매개 변수에 대한 자세한 정보 확인이 가능합니다.

 

2. 메일 전송 테스트

 

-  Get-Help Send-MailMessage -examples 내용을 참조하여 아래와 같이 명령어를 실행 시켜줍니다.
> Send-MailMessage -From "smtp@op.com" -To "ukryang@gmail.com" -SmtpServer "smtp.gmail.com" -Credential (Get-Credential) -UseSsl -Subject "Test from powreshell" -Body "Test from powershell"
: 인증 부분은 생략하였습니다.

* 오류 발생*

* 해결 방법 *

URL:  https://www.google.com/settings/security/lesssecureapps)

- 위의 링크로 이동
- 아래 내용 허용으로 변경



- 다시 한 번 명령어를 실행 시켜 줍니다.
: 아래와 같이 정상적으로 메일이 수신되었습니다.

 

3. 메일 발송 함수 작성 및 응용

 

- 위에서 테스트한 내용을 바탕으로 좀 더 범용성있게 메일을 발송하기 위해 메일 발송을 위한 함수를 생성해보겠습니다.
: 인증 정보는 변수를 통해 먼저 선 입력 처리 해주었습니다.
: params 변수를 이용하여 Send-MailMessage 실행에 필요한 변수들을 미리 설정해 주었습니다.


- 아래와 같이 HTML 형태로 작성하여 메일 전송도 가능합니다.
- Attachments 옵션을 이용하여 파일 첨부도 가능합니다.


 

다음 포스트에서는 직접 SMTP 서버를 구성한 후 해당 메일 서버를 연동하여 메일 테스트를 진행하는 과정에 대해서 다뤄보도록 하겠습니다.

728x90
반응형

'Powershell' 카테고리의 다른 글

Powershell 도움말  (0) 2020.12.29
HTTP 요청 보내기 ( Invoke-WebRequest / Invoke-RestMethod )  (0) 2020.12.25
Powershell 출력 유형  (0) 2020.11.20
Get-WmiObject를 이용한 NIC 규격 구하기  (0) 2020.11.20
Findstr 사용법  (0) 2020.10.25