티스토리 뷰
요새는 자바 개발할때 스프링 프레임워크를 많이 사용해서 스프링에서 제공하는 api 이용하면 쉽게 보낼 수 있다.
기존방식으로 하면..
자바 smtp로 구글링 하면 대부분이
Session session = Session.getDefaultInstance(prop, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password);
}
});
이런식으로 많이 되어 있다.
하지만..
컴파일시 이너클래스에 의해 $1.class가 본인도 모르게 만들어 진다.
이게 큰문제를 일으킨다..
리눅스 서버 에서는 $가 예약어 이다. 그래서 rm 처럼 삭제 명령어를 날리면 엉뚱하게 $1이 안붙은 파일이 삭제가 되어 장애를 일으킨다.
그냥
Session session = null;
session=session.getInstance(prop, null);
MimeMessage message=new MimeMessage(session);
이렇게 해도 되고
Session msgSession = null;
if(authMode.equals("true")) {
Authenticator auth = new MyAuthentication(mailId, mailPassword);
msgSession = Session.getInstance(mailProps, auth);
} else {
msgSession = Session.getInstance(mailProps, null);
}
class MyAuthentication extends Authenticator {
PasswordAuthentication pa;
public MyAuthentication(String mailId, String mailPass) {
pa = new PasswordAuthentication(mailId, mailPass);
}
public PasswordAuthentication getPasswordAuthentication() {
return pa;
}
}
이런식으로 이너클래스를 안쓰게 끔 코딩해야 한다.
'자바(Java)' 카테고리의 다른 글
ajax 전송 최대 크기 톰캣 (0) | 2020.03.20 |
---|---|
이클립스 sysout 단축키 (0) | 2020.03.04 |
리눅스 자바 이너클래스 inner class $1.class 파일 삭제 방법 (0) | 2020.01.28 |
자바 rmi java.rmi.ConnectException: Connection refused to host: 10.1.1.1; nested exception is: java.net.ConnectException: Connection refused: connect (0) | 2020.01.23 |
자바 리눅스 쉘 실행 -2 (0) | 2020.01.22 |
- Total
- Today
- Yesterday
- esql
- 프로씨
- 자바 smtp
- 이클립스
- proc
- php
- KG
- JDBC
- webix
- MySQL
- EC
- 파싱
- Python
- XE
- 오라클
- C
- C언어
- 플러터
- 파이썬
- 자바
- xe addon
- ocajp
- 라이믹스 모듈
- xe애드온
- ocjap
- XE3
- 문자열
- 스크래핑
- 인포믹스
- 포인터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |