Powershell을 이용한 메일 relay 서버 테스트

Scenario

  • SMTP 서버에서 아래 Source를 통해 메일 발송 테스트
  • Cmd – 관리자권한 실행
  • Powershell 입력 후 [enter]
  • 아래 메일내용 복사 & 붙여넣기

$EmailFrom = “보내는 사람 메일주소”
$EmailTo = “받는 사람 메일주소”
$Subject = “SMTP Mail Test”
$Body = “This is just a test mail to verify the working of CMD”
$SMTPServer = “192.168.2.215”
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25)
$SMTPClient.EnableSsl = $false
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
Get-Date

아래 화면은 위 Powershell을 통해 email relay 서버로 메일 발송시 나타나는 화면 입니다. 발신자, 수신자, 제목, 본문은 자신의 입맛에 맞게 수정 하시면 됩니다.

checktherelayserver

이렇게 끝내면 아쉽잖아요. 그래서 매번 수신자, 발신자, 제목을 수정하기 보다는 직접 필요한 항목을 입력받아 처리할 수 있도록 Powershell 특정 옵션을 통해 아래와 같이 수정 했습니다.

<#

.SYNOPSIS

SMTP Relay 서ù¡©버öo 점¢®검ÆE Script

.PARAMETER Name

ddddd

.EXAMPLE

ddddd

#>

$EmailFrom = Read-Host“Enter the send the email address”

$EmailTo = Read-Host “Enter the recive the email address”

$Subject = Read-Host “Enter the Subject”

$Body = “This is just a test mail to verify the working of CMD”

$SMTPServer = Read-Host “Enter the relay Server IP or Domain”

$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25)

$SMTPClient.EnableSsl = $false

$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

Get-Date

위와 같이 수정해서 저장한 후, 실행하면 아래와 같이 4개의 인자를 입력받아 테스트가 가능하기 때문에 Source 직접 수정 없이 간단하게 테스트 가능합니다.

Screenshot__2017-11-29_오후_4_06_59

나중에 여유가 생긴다면, 이를 C#으로 개발해서 단독 프로그램으로 개발해서 윈도우 환경에서 언제든지 테스트 할 수 있도록 개발 예정이다. (언젠가는)

Leave a Comment