MATLAB 은 정말 많은 부분을 자동화 할 수 있는 툴입니다.

 

Simulink 를 사용하신다고 하더라도 MATLAB 을 제대로 다룰 줄 알아야 Simulink 를 효율 적으로 사용 할 수 있습니다.

 

코드 생성과 같이 시간이 좀 많이 걸리는 작업을 실행할 때 컴퓨터 앞에서 계속 앉아 있다면 참 답답 할 겁니다.

 

이럴 때 저는 MATLAB 에서의 작업이 끝나면 메일을 보내도록 설정해 놓고 나가서 커피 한잔 하면서 쉬곤 합니다.

 

요즘 대부분 스마트폰을 사용하니 휴대폰으로 메일을 확인 할 수 있을테고

 

작업이 완료 됐다는 메일을 받으면 들어와서 그 이후의 작업을 하는거죠.

 

저는 Windows 환경이고 메일 프로그램으로 Ms 아웃룩을 사용 합니다.

 

MATLAB 에서는 MS Office 제품군을 자동활 할 수 있습니다.

 

메일을 보내는 간단한 스크립트는 아래와 같습니다. Subject 에 메일 제목을 넣고 To에 보낼 사람, HTMLBody 에 메일 내용을 적습니다.

 

h = actxserver('outlook.Application');

mail = h.CreateItem('olMail');

mail.Subject = 'Mail Test';

mail.To = 'nnn@naver.com';

 

mail.BodyFormat = 'olFormatHTML';

mail.HTMLBody = 'This is Body';

mail.Send;

h.release;

 

MATLAB 에서 시간이 오래 걸리는 작업을 돌려 놓고 마지막에 위 스크립트를 실행 되도록 한다면 MATLAB 이 돌아가는 동안에 나가서 커피 한잔 하고

 

다 되면 휴대폰으로 확인하고 ~

 

들어와서 다음 작업을 하는 식이죠~



  1. 2016.11.02 22:27

    비밀댓글입니다

오늘은 아래 포스팅에 이어서 powershell 을 이용하여 아웃룩에서 메일 보내는 방법에 대해 알아보려 합니다.

 

http://iamaman.tistory.com/1638



보통 회사에서 Microsoft Office 를 많이들 사용 하실 겁니다.

 

Powershell 에서는 Com Object 를 사용 할 수 있고~ Com object 를 사용하면 MS office 제품군에 대한 자동화가 가능 합니다.

 

따라서 outlook 도 자동화가 됩니다.

 

아래와 같이 간단하게 메일을 보낼 수 있습니다.

 

$textv =@"

메일 테스트 

메일 잘 가나요?

"@

 

$subject = "서버의 업데이트가 안 되었습니다."

 

$obj = New-Object -ComObject Outlook.Application

 

$newMail = $obj.CreateItem(0)

$newMail.Subject = "메일 제목"

$newMail.Body = $textv

$newMail.To = "메일 받는 사람 주소"

 

$newMail.Send()

 

 

Newmail Object 관련 Property 들은 아래 주소에서 확인 할 수 있습니다.

 

https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.mailitem_properties.aspx

 

위와 같은 방법을 사용하면 반복적으로 메일을 보내야 할 때 매우 편하게 보낼 수 있을 겁니다.


파이썬을 활용하여 메일을 보내는 몇 가지 방법 중에 오늘은 로컬 컴퓨터의 아웃룩을 사용하여 보내는 방법에 대해 소개하려 합니다.

 

아웃룩을 사용하기 위해 win32com.client 을 사용합니다.

 

코드는 다음과 같습니다. 한글을 사용하기 위해 맨 위에 아래와 같이 cp949 를 적어 줬습니다.

 

아래 코드를 사용하면 현재의 아웃룩 계정에서 제목 메일의 내용대로 메일이 날라갑니다.

 

수신자(Ex> abc@naver.com)는 아래 코드의 mail_Address 부분에 넣어 주면 됩니다.

 

# -*- coding: cp949 -*-

 

import win32com.client

 

olMailItem = 0x0

obj = win32com.client.Dispatch("Outlook.Application")

newMail = obj.CreateItem(olMailItem)

newMail.Subject = "제목"

newMail.Body = "메일 내용"

newMail.To = "mail_Address"

newMail.Send()

 



+ Recent posts