0. 사전준비 사항


메일 발송하는 계정은 테스트 계정으로 새로 만들어서 테스트 하시는것을 추천합니다.

1) 보안 수준이 낮은 앱 엑세스 허용

보안 수준이 낮은 앱 허용을 해줘야 테스트 하는 어플리케이션에서 메일 발송이 가능합니다.

 

아래 URL을 클릭하시면 로그인 되어있는 계정으로 바로 설정 가능합니다.

 

https://myaccount.google.com/lesssecureapps

2) 내 Google 계정에 대한 액세스 허용

내 Google 계정에 대한 액세스 허용화면에서 계속 버튼을 클릭 해줍니다.

 

 

아래 URL을 클릭하시면 로그인 되어있는 계정으로 바로 설정 가능합니다.

https://accounts.google.com/DisplayUnlockCaptcha

1. nodemailer 모듈


nodemailer는 node 서버에서 메일을 보낼 수 있는 메일 전송 모듈입니다. 사용법이 간편하다는 장점이 있습니다.

nodemailer 공식문서는 하단 URL을 참고해주세요

https://nodemailer.com/about/

npm을 사용하시는 분들은 npm install nodemailer --save yarn을 사용하시는 분들은
yarn add nodemailer 명령으로 설치 가능합니다.

2. nodemailer을 이용한 발송 코드


1) nodemailer 발송 모듈

// nodemailer 모듈 요청
var nodemailer = require('nodemailer');

// 메일발송 객체
var mailSender = {
    // 메일발송 함수
    sendGmail : function(param){
        var transporter = nodemailer.createTransport({
            service: 'gmail'
            ,prot : 587
            ,host :'smtp.gmlail.com'
            ,secure : false
            ,requireTLS : true
            , auth: {
              user: '발송할 메일@gmail.com'
              ,pass: '패스워드'
            }
        });
        // 메일 옵션
        var mailOptions = {
                from: '발송할 메일@gmail.com',
                to: param.toEmail, // 수신할 이메일
                subject: param.subject, // 메일 제목
                text: param.text // 메일 내용
            };
        // 메일 발송    
        transporter.sendMail(mailOptions, function(error, info){
            if (error) {
            console.log(error);
            } else {
            console.log('Email sent: ' + info.response);
            }
        });

    }
}
// 메일객체 exports
module.exports = mailSender;

2) 메일 발송 함수 사용

let emailParam = {
    toEmail : loginId
    ,subject  : '메일 제목'
    ,text : '메일 내용'
};
mail.sendGmail(emailParam);

3.관련 오류

0. 사전 준비 사항을 하지 않아서 발생한 오류입니다.

Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at

2019-06-02T07:31:57.851494+00:00 app[web.1]: { Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at
2019-06-02T07:31:57.851514+00:00 app[web.1]: 535 5.7.8  https://support.google.com/mail/?p=BadCredentials n7sm6847779qkd.53 - gsmtp
2019-06-02T07:31:57.851516+00:00 app[web.1]: at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:781:19)
2019-06-02T07:31:57.851518+00:00 app[web.1]: at SMTPConnection._actionAUTHComplete (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1516:34)
2019-06-02T07:31:57.851520+00:00 app[web.1]: at SMTPConnection._responseActions.push.str (/app/node_modules/nodemailer/lib/smtp-connection/index.js:554:26)
2019-06-02T07:31:57.851522+00:00 app[web.1]: at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:940:20)essResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.ta (/app/node_modules/nodemailer/lib/smtp-connection/index.js:746:14)js:940:20)                                                          tion._onSocketData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:189:46)
2019-06-02T07:31:57.851524+00:00 app[web.1]: at SMTPConnection._onDats.js:198:13)ta (/app/node_modules/nodemailer/lib/smtp-connection/index.js:746:14adable.js:288:12))                                                                   tream_readable.js:269:11)
2019-06-02T07:31:57.851526+00:00 app[web.1]: at TLSSocket.SMTPConnecush (_stream_readable.js:224:10)tion._onSocketData (/app/node_modules/nodemailer/lib/smtp-connection [as onread] (internal/stream_base_commons.js:94:17)/index.js:189:46)
2019-06-02T07:31:57.851528+00:00 app[web.1]: at TLSSocket.emit (events.js:198:13)                                                        Password not accepted. Learn more at\n535 5.7.8  https://support.google.com/mail/?p=BadCredentials n7sm6842019-06-02T07:31:57.851530+00:00 app[web.1]: at addChunk (_stream_readable.js:288:12)
2019-06-02T07:31:57.851533+00:00 app[web.1]: at readableAddChunk (_stream_readable.js:269:11)
2019-06-02T07:31:57.851535+00:00 app[web.1]: at TLSSocket.Readable.push (_stream_readable.js:224:10)
2019-06-02T07:31:57.851537+00:00 app[web.1]: at TLSWrap.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
2019-06-02T07:31:57.851540+00:00 app[web.1]: code: 'EAUTH',
2019-06-02T07:31:57.851542+00:00 app[web.1]: response:
2019-06-02T07:31:57.851545+00:00 app[web.1]: '535-5.7.8 Username and Password not accepted. Learn more at\n535 5.7.8  https://support.google.com/mail/?p=BadCredentials n7sm6847779qkd.53 - gsmtp',
2019-06-02T07:31:57.851547+00:00 app[web.1]: responseCode: 535,
2019-06-02T07:31:57.851549+00:00 app[web.1]: command: 'AUTH PLAIN' }

Error: Invalid login: 534-5.7.14 ...

2019-06-02T08:43:58.332064+00:00 app[web.1]: { Error: Invalid login: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtx
2019-06-02T08:43:58.332078+00:00 app[web.1]: 534-5.7.14 eGlXewx2NWs2Zu-3kdbaSLCHppRwhG4UkU5oG1lS7Tz0CAbeu2Y16L6sCdjSCqUtjye2TW
2019-06-02T08:43:58.332081+00:00 app[web.1]: 534-5.7.14 QvrjSZZGajjBg8AB6CE4l49G2Rn5Voeky6d1T81hhfx8RkcRI6dmf1nDBbYr7U> Please
2019-06-02T08:43:58.332084+00:00 app[web.1]: 534-5.7.14 log in via your web browser and then try again.
2019-06-02T08:43:58.332086+00:00 app[web.1]: 534-5.7.14  Learn more at
2019-06-02T08:43:58.332088+00:00 app[web.1]: 534 5.7.14  https://support.google.com/mail/answer/78754 a6sm2076445qkn.14 - gsmtp
2019-06-02T08:43:58.332090+00:00 app[web.1]: at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:781:19)
2019-06-02T08:43:58.332092+00:00 app[web.1]: at SMTPConnection._actionAUTHComplete (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1516:34)
2019-06-02T08:43:58.332095+00:00 app[web.1]: at SMTPConnection._responseActions.push.str (/app/node_modules/nodemailer/lib/smtp-connection/index.js:554:26)
2019-06-02T08:43:58.332098+00:00 app[web.1]: at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:940:20)
2019-06-02T08:43:58.332100+00:00 app[web.1]: at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:746:14)
2019-06-02T08:43:58.332102+00:00 app[web.1]: at TLSSocket.SMTPConnection._onSocketData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:189:46)
2019-06-02T08:43:58.332104+00:00 app[web.1]: at TLSSocket.emit (events.js:198:13)
2019-06-02T08:43:58.332106+00:00 app[web.1]: at addChunk (_stream_readable.js:288:12)
2019-06-02T08:43:58.332109+00:00 app[web.1]: at readableAddChunk (_stream_readable.js:269:11)
2019-06-02T08:43:58.332111+00:00 app[web.1]: at TLSSocket.Readable.push (_stream_readable.js:224:10)
2019-06-02T08:43:58.332113+00:00 app[web.1]: at TLSWrap.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
2019-06-02T08:43:58.332115+00:00 app[web.1]: code: 'EAUTH',
2019-06-02T08:43:58.332118+00:00 app[web.1]: response:
2019-06-02T08:43:58.332123+00:00 app[web.1]: '534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtx\n534-5.7.14 eGlXewx2NWs2Zu-3kdbaSLCHppRwhG4UkU5oG1lS7Tz0CAbeu2Y16L6sCdjSCqUtjye2TW\n534-5.7.14 QvrjSZZGajjBg8AB6CE4l49G2Rn5Voeky6d1T81hhfx8RkcRI6dmf1nDBbYr7U> Please\n534-5.7.14 log in via your web browser and then try again.\n534-5.7.14  Learn more at\n534 5.7.14  https://support.google.com/mail/answer/78754 a6sm2076445qkn.14 - gsmtp',
2019-06-02T08:43:58.332126+00:00 app[web.1]: responseCode: 534,
2019-06-02T08:43:58.332128+00:00 app[web.1]: command: 'AUTH PLAIN' }

'언어 > NodeJS' 카테고리의 다른 글

Express를 이용한 NodeJS 웹서버 구축  (0) 2018.12.07

heroku, Github 연동


최근 클라우딩 서비스가 인기를 많이 끌고 있습니다.


heroku는 github와 간단하게 연동이 가능해서 정말 간단했습니다.


회원 가입 단계는 생략하였습니다.



1. Create New App


New 버튼 클릭 후 Create New App을 클릭합니다.



2. 사용 할 어플리케이션 명을 입력해 줍니다.


아래와 같이 접속 URL이 생성됩니다.


https://어플리케이션명.herokuapp.com


free 티어는 미국, 유럽만 선택 가능합니다.


완료하셨으면 Create App을 선택합니다.



3. deploy 할 레퍼지토리 선택


저는 github를 선택하였습니다.



레퍼지토리 명을 검색하고 선택하면 연결이 됩니다.



4. deploy 


Push가 있을때마다 자동으로 빌드할 수 있는 기능입니다.


저는 따로 선택하지 않았습니다.



github의 경우 브렌치를 선택해서 deploy가 가능합니다.


저는 master 브렌치를 선택해서 디플로이 했습니다.



deploy하는 동안 로그를 확인할 수 있습니다.




5. 확인


deploy가 완료되면 아래와 같이 view버튼일 활성화 됩니다.


view 버튼을 누르면 접속 확인이 가능합니다.


https://어플리케이션명.herokuapp.com




Git 설치 및 GitHub 연동


안녕하세요 Git을 설치하고 GitHub와 연동을 해보려고합니다.




https://gitforwindows.org



1. 위 링크에 접속해서 windows 전용 git설치 파일을 다운받습니다.



Download버튼을 클릭하면 바로 설치가 됩니다.


2. 설치 과정


기본옵션으로 쭉 설치 해주시면 됩니다.



저는 기본 경로대로 설치했습니다.


















3. 설치가 완료 되면 GitHub에 가입한 후 레퍼지토리(저장소)를 생성해줍니다.



가장 먼저 GitHub 가입을 진행했습니다.

꼭 인증이 가능한 메일로 입력해주세요



Create an account 버튼을 클릭합니다.



무료를 선택 해 줍니다.

Continue 버튼을 클릭 해 줍니다.



간단한 설문 조사 입니다.



New Repository 버튼을 클릭 하면 레퍼지토리를 생성 할 수 있습니다.



메일 인증을 하지 않으면 생성이 불가능 합니다.



레퍼지토리 명과 설명을 기입 해 줍니다.


Public은 모두에게 공개가 되고, Private은 공개가 되지 않는데

Private은 유료 이기때문에 저는 Public 을 선택 했습니다.



연동 할 URL을 복사 해 둡니다.



4. 레퍼지토리 생성이 완료 되면 git을 사용할 폴더에서 아래와 같은 명령을 실행 합니다.



git init 명령을 사용 하면 해당 폴더에 git 명령을 사용 할 수 있습니다.



git remote add origin 위에서 복사한 레퍼지토리 URL

명령을 수행하면 레퍼지토리와 연동이 됩니다. 



제가 사용하는 VisualCode에서 

git remote -v 명령을 수행하면 정상적으로 연동 된걸 확인 할 수 있습니다.



'Configuration management > git' 카테고리의 다른 글

[GIT] branch, Merge  (0) 2018.12.03

+ Recent posts