프로젝트 기간중 자체 SMTP를 사용하지 않고 gmail smtp를 이용한 메일발송요청을 받았습니다.

구글링하면 워낙에 많이 나오는 자료라서 흔쾌히 수용했고 로컬에서 쉽게 테스트 완료했습니다.


하지만 서버로 올리고부터 또하나의 삽질은 시작...


정상적인 경우에는 아래와 같은 로그가 찍힙니다.


220 smtp.gmail.com ESMTP 3sm48066013pfo.31 - gsmtp

DEBUG SMTP: connected to host "smtp.gmail.com", port: 465

 

EHLO my-PC-name

250-smtp.gmail.com at your service, [xxx.xxx.xxx.xxx]

250-SIZE 35882577

250-8BITMIME

250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-CHUNKING

250 SMTPUTF8



하지만 서로에서의 로그는 아래와 같이 나면서 오류 ㅠ.ㅠ;;


EHLO

501-5.5.4 Empty HELO/EHLO argument not allowed, closing connection.

501 5.5.4  https://support.google.com/mail/?p=helo sv8sm48122510pab.18 - gsmtp

HELO

DEBUG SMTP: EOF: [EOF]

error to send Email....

javax.mail.MessagingException: [EOF]

        at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1363)

        at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:838)

        at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:375)

...


몇몇 구글링을 해봐도 당췌 알수 없다가... smtp 와 hostname 과의 관계를 구글링하고서야 찾아냈습니다.

꼭 gmail을 이용한 smtp발송에 국한된 것도 아닌, 대부분의 smtp 발송과 관련된 것.


결론은 /etc/hosts 파일을 확인하라는 것입니다.

일부 SE 분들은 hostname 변경시 한두군데만 수정하고 hosts파일을 수정하지 않는 경우가 있습니다.


제 블로그 http://gubok.tistory.com/304 에 보면 hostname 변경시 주의사항이란 글에도 나와있듯이 일부 프로그램에서 hostname을 조회할때 /etc/hosts 파일을 참조하는 경우가 많다고 합니다.


결론 : hostname 이 제대로 다 변경되지 않아서 발생하는 오류라는 것









[tip]spring boot jar 생성하기

Posted 2016. 9. 11. 01:58

그동안 maven기반 웹프로젝트만 했던터라 Spring Boot는 사용할일이 없었다.

정상적인 Maven기반 웹프로젝트의 빌드 & package생성(war파일 생성) 은 이클립스내에서 실시했었는데, jar파일은 도무지 할수가 없어 애를 먹음.

war파일생성 : 프로젝트 > run as > maven install 로...

jar파일생성 : cmd 상에서 mvn을 이용하여 생성

해당 프로젝트 디렉토리로 이동

mvn package (이때 maven은 path를 잡혀있어야 함.)

기본적인 jar 생성시 maven에서 Test과정을 거치는데, 보통 로컬 테스트를 개발에서 완료 후 서버환경에 맞게 jar를 배포하는터라 이때는 로컬에서 테스트를 완료할수 없다.

 

이경우 Test과정을 skip 처리한다.

 

mvn -Dmaven.test.skip=true package

or

pom.xml에 test.skip 추가

 

<properties>
  <maven.test.skip>true</maven.test.skip>
</properties>


그동안 개인적으로 PC에 설치해서 사용하던 Redmine을 업그레이드를 해야할 상황이 발생했다.

(정기적으로 밀어줘야 하는 윈도우의 특성으로 인해 어쩔수 없이..)

 

구글링을 통해 몇몇 업그레이드 방법을 찾아서 따라해 보았으나 시원찮던 차에 결국 레퍼런스라 할수 있는 bitnami 가이드대로 성공.

 

1. mysql dump &  복구

2. 관련 첨부file 디렉토리 복사

3. 2.2에서 3.3으로 업그레이드됨에 따라 마이그레이션 수행 (이부분에서 다른 블로그 따라하니 오류)

 

자세한 방법은 다음 링크 참조

 

https://wiki.bitnami.com/Applications/BitNami_Redmine#How_to_upgrade_Redmine.3f


https://docs.bitnami.com/general/apps/redmine/administration/upgrade/

 

 요약 ( 아래는 리눅스 개념으로 설명하지만 Windows에서도 동일하게 적용됨 )


I. On the original Redmine server, follow the steps below:


 1. Create a database backup file named bitnami_redmine.sql:

$ mysqldump -u root -p --databases bitnami_redmine --add-drop-database > bitnami_redmine.sql

 2. Compress Redmine application and plugin files from the directory /opt/bitnami/apps/redmine/htdocs/files:

$ tar czf redmine_files.tar.gz -C /opt/bitnami/apps/redmine/htdocs/files .
$ tar czf redmine_plugins.tar.gz -C /opt/bitnami/apps/redmine/htdocs/plugins .

II. Launch a new Redmine server and follow the steps below:

 1. Stop Apache:

$ sudo /opt/bitnami/ctlscript.sh stop apache

 2. Upload the file redmine_files.tar.gz to the new server.

 3. Restore the database backup:

$ mysql -u root -p < bitnami_redmine.sql

 4. Copy the Redmine application files to /opt/bitnami/apps/redmine/htdocs/files, by copying redmine_files.tar.gz to the new instance and extract its contents:

$ sudo tar xzf redmine_files.tar.gz -C /opt/bitnami/apps/redmine/htdocs/files

5. Temporarily give full write permissions to the Redmine log file:  (Window의 경우 생략가능)

$ sudo chmod 666 /opt/bitnami/apps/redmine/htdocs/log/production.log

6. Migrate the database to the latest version:

$ cd /opt/bitnami/apps/redmine/htdocs/
$ sudo ruby bin/rake db:migrate RAILS_ENV=production


자세한 내용은 아래 링크 참조 

(본인은 Redmine2.x에서 3.3 업그레이드 성공함)

https://docs.bitnami.com/general/apps/redmine/administration/upgrade/ 






« PREV : 1 : ··· : 8 : 9 : 10 : 11 : 12 : 13 : 14 : ··· : 61 : NEXT »