Partager via


(12) Razor 강좌 – SMTP 메일전송(Live메일과 Gmail지원. SSL지원)

안녕하세요. 김대우 입니다.

코난이와 함께하는 Razor & WebMatrix 시리즈 강좌리스트

(1) WebMatrix와 Razor! 이제 시작합니다.

(2) WebMatrix 설치부터 Hello World까지

(3) Razor 강좌 - 기본 구문 및 주석 처리

(4) Razor 강좌 - 코드 블록과 POST 처리

(5) Razor 강좌 - 재사용 가능한 코드 생성

(6) Razor 강좌 - 레이아웃 페이지 구조 처리

(7) Razor 강좌 - 파일처리, 파일 업로드

(8) Razor 강좌 - 데이터베이스 처리

(9) Razor 강좌 - Helper 소개(이미지, 비디오)

(10) Razor 강좌 – 디버깅

(11) Razor 강좌 - 캐시 처리
(12) Razor 강좌 – SMTP 메일전송(Live메일과 Gmail지원. SSL지원)  - 지금 보시는 내용

개인적으로 궁금하기도 했고, 나름 필요한게 메일 서비스인지라 추가 강좌 하나 더 올려 봅니다.
Razor에서 SMTP 메일 전송
참고로, Auth SMTP(인증 SMTP)를 이용 가능하고 SSL을 이용하는 Live메일(MSN메일) 이나 Gmail도 이용 가능합니다.
저는 Live mail로 해 보도록 할께요. 이 강좌를 보시는 개발자 분들이라면, Live 메신저(MSN 메신저) ID는 하나씩 있으실 거에요.

@{
    //Live 메일 테스트 입니다. (gmail도 됩니다.)
    //시작 하기 전에 Live ID(MSN 메신저 ID)로 메일 접속을 테스트 해 보세요.(계정 비활 가능성)
    //Live 메일 테스트는 https://mail.live.com  에서 로그인 해 보세요.
    //gmail 테스트는  https://gmail.com 에서 로그인 해 보세요.
    try {
        // Mail Helper 사용
        //SMTP 서버 주소 - Live메일이나 gmail도 됩니다. gmail의 경우 smtp.gmail.com
        Mail.SmtpServer = "smtp.live.com";  
        //SMTP 서버 포트(Live메일과 gmail모두 같음. gmail 공식 문서로 SSL은 465인데 여하간 587도 됩니다. 아래 참고자료)
        //대부분의 ISP가 스팸 방지 목적으로 25번 포트를 막기 때문에 요즘의 SMTP 제공자는 SSL이나 587를 기본 지원합니다.
        Mail.SmtpPort = 587;       

        // SSL 사용 여부(Live 메일과 gmail 모두 같음)
        Mail.EnableSsl = true;     
        //라이브(MSN) 메신저 주소를 넣으세요. Live ID는 email 주소 입니다.
        //gmail은 gmail ID 메일 주소
        Mail.UserName = "Live ID를 넣으세요";     
        //라이브(MSN) 메신저 주소를 넣으세요. Live ID는 email 주소 입니다.
        //gmail은 gmail ID 메일 주소
        Mail.From = "보내는-메일-주소 - Live ID(라이브(MSN) 메신저 ID를 넣으세요.)";  

        Mail.Password = "Live-ID의-암호";
        // 메일 전송
        Mail.Send(
            to: "받는-사람-메일-주소", //받는 사람 메일 주소 - 자신에게 보내도 되요.
            subject: "SQLER의 Razor 메일 전송 강좌",
            body: "메일 전송 성공"
        );
        <text>
            <b>이메일 전송 성공</b>
            메일이 전달 되었습니다.
        </text>
    }
    catch (Exception ex) {
        <text>
            <b>이메일 전송 실패</b>
            아마도 메일 관련 구성이 잘못된 것 같습니다. 다시 확인해 보세요. <br />
            오류 메세지<br />
            @ex.ToString();    
        </text>
    }
}

웹사이트 최 상위에 Mail폴더를 만들고 MailProcess.cshtml로 만들고 실행 했습니다.
Live Mail과 Gmail 모두 SSL - SMTP를 지원합니다. Razor는 기본적으로 이를 지원하구요. 가능한 예제 코드에 주석으로 설명해 두었으니, 복사해 실행해 보시면 도움 되실 겁니다.

여담으로...

요즘은 추세가, 호스팅사나 자체적으로 SMTP를 메일 서버를 운영하기 보다는 이런 서비스의 무료 SMTP를 이용하는게 추세인 듯 합니다. 특히, Windows Live 관리센터나 google apps를 이용하면 우리 회사나 커뮤니티의 도메인을 이용하는 메일 주소로 메일 서비스 전체 이용이 가능하지요. 윈도우 라이브 메일을 이용하면, 웹기반이 아니라 클라이언트 어플리케이션으로 동작해 오프라인에서 메일도 볼 수 있고, 다양한 편의 기능을 활용 가능합니다.

모두 무료로, 우리 회사의 도메인을 사용하는 메일 주소를 무료로 직원에게 그냥 생성 가능하고, SMTP도 지원하며, *무료*로 다양한 기능의 메일 클라이언트 어플리케이션도 지원해 편리합니다.~

Windows Live 관리 센터(구. Custom Domains)가 3번째 물결을 탔습니다

윈도우 라이브 메일

Razor는 기본적으로 Mail Helper로 이런 SSL SMTP를 지원하기 때문에 이런 메일 서비스들과 연동하기도 쉬울 것 같아요.

감사합니다.

SMTP 구성 관련 참고
라이브 메일(Hotmail) SMTP 관련 정보 – 영문
GMail SMTP 관련 정보 - 영문

참고자료 :

(1) WebMatrix와 Razor! 이제 시작합니다.
(2) WebMatrix 설치부터 Hello World까지
(3) Razor 강좌 - 기본 구문 및 주석 처리
(4) Razor 강좌 - 코드 블록과 POST 처리
(5) Razor 강좌 - 재사용 가능한 코드 생성
(6) Razor 강좌 - 레이아웃 페이지 구조 처리
(7) Razor 강좌 - 파일처리, 파일 업로드
(8) Razor 강좌 - 데이터베이스 처리
(9) Razor 강좌 - Helper 소개(이미지, 비디오)
(10) Razor 강좌 – 디버깅
(11) Razor 강좌 - 캐시 처리
[동영상 강좌] (1) WebMatrix 첫 실행 & Hello World까지 달려요~
[동영상 강좌] (2) WebMatrix 5분 리뷰~
[동영상 강좌] (3) Razor 강좌 - 기본 구문 및 주석 처리
[동영상 강좌] (4) Razor 강좌 - 코드 블록과 POST 처리