본문 바로가기

<ROOT>

[설정] SMTP delayTime and max retries ㅁ mx record 의 개수 만큼 re try 를 하고 connectiontimeout 으로 인해 Thread 가 대기 한다. 그리하여 deliveryThreads 중 대부분 retires 대기 상태가 되어 외부 발송이 지연된다. /conf/mailetcontainer.conf outgoing 5 minute 10 minute 0 0 50 true bounces 10000 2000 더보기
jad decompile 후 생성되는 주석 제거 정규식. /\* [0-9]* \*/ 더보기
IMAP Thread executor & worker ㅁ 사용자 수 1800명. ㅁ 문제 - 메일을 자주 사용하는 특정 시간대의 속도가 느려지는 현상이 발생함. ㅁ IMAP 은 1. outlook - 지속 적인 TCP Connection 을 가지고 있음 - 보내기 받기 등을 수행 시 새로운 Connection 으로 수행. 최소 2개의 Connection. 2. WAS IMAPClient - 일을 수행 후 Connection 종료. ㅁ 원인 - outlook 등 및 그룹웨어를 같이 사용하고 특정 시간대에 메일 송수신이 활발함. - Thread executor & worker 의 수가 부족하여 Tx 가 긴 작업으로 인하여 Pool 에서 할당하지 못함. - Mbean IMAPServer.worker 의 MaximumThreads 가 2147483647 개가 아니.. 더보기
500 Line length exceeded. See RFC 2821 #4.5.3.1. EML 원문도 잘못 되었지만 메일을 스팸 서버가 받아서 메일 엔진으로 전달 시 발생. SMTP 를 통한 공격을 막기 위해 제한 했다고는 하는데 남들 다 받는데 얘만 못받으니 문제지 ㅁ 원인 - Bold 로 표기된 부분이 8192 가 넘을 경우 발생한다. ... MIME-Version: 1.0 X-Mailer: Mymailer 3.0 Content-Type: text/html; charset=EUC-KR Content-Transfer-Encoding: base64 PGh0bWw+DQ0KPHA+DQ0KPG1ldGEgY2hhcnNldD0iVVRGLTgiIC8+PFNUWUxFIFRZUEU9InRleHQvY3NzIj4JY... ㅁ RFC 2821 - Simple Mail Transfer Protocol 4.5.3.. 더보기
[James clustering] MailboxPathLocker 문제. § James 0.6 이하 제공되는 mailbox path locker 는 single JVM 에서 사용되는 locker. - org.apache.james.mailbox.store.JVMMailboxPathLocker extends AbstractMailboxPathLocker 여러대의 메일 엔진이 구성되는 경우 메일박스 점유에 따른 여러가지 문제가 발생한다. 1. 제일 큰 이슈는 mailbox 마다 존재하는 james-uidlist 의 File locking 이 되지 않아 uid 를 write 하다 깨지는 현상이 발생한다. - IMAP SELECT 가 되지 않아 오류가 발생하고 본문을 주지 않는다. 2. 메일의 Flag 변경과 삭제, 박스 이동 등이 동시에 발생하는 경우 - JPA 를 사용하는데 낙관.. 더보기
James distributed event system ㅁ James 이중화 시 발견되는 버그 - 메일 수신 시 EXIST, Expunge Response 가 되지 않음. ㅁ 문제 - 이중화 환경에서 메일 수신 / 삭제 등의 이벤트가 발생하는 경우 이벤트가 발생한 서버외의 분산 서버들은 이벤트를 클라이언트에게 전달하지 못한다. ㅁ RFC 2177-IMAP4 IDLE command 1. James #1 에 메일 수신 시 James #2 는 알 수 없음. SMTP -> LocalDelivery -> IMAP APPEND 2. James Event system. 3. To-be ㅁ Hazelcast manager log. 1) James #1 Started , James #2 Start up. 2) James #2 started. 3) James #2 stop. .. 더보기
Tsung Installing and Initial setup of Tsung Load Testing CentOS Installing and Initial setup of Tsung Load Testing CentOS Installation on Centos [ahmed@server ~]$ yum install erlang [ahmed@server ~]$ tar -xvzf tsung-1.5.1.tar.gz -C /opt [ahmed@server ~]$ cd /opt/tsung-1.5.1 [ahmed@server ~]$ ./configure [ahmed@server ~]$ make [ahmed@server ~]$ make install Some Version information. [ahmed@server ~]$ t.. 더보기
Optional<T> : T == null 코드 삭제 구글 실험소의 메일 보내기 취소 라는 기능이 생겨 구현 중인데... 이넘의 null 처리가 왜이리 보기가 싫은지. public boolean isCancelMail(String sender, String storeKey) { if(cancelStore.containsKey(sender)){ final Optional list = Optional.of(cancelStore.get(sender)); return list.isPresent() && list.get().contains(storeKey); } return false; } 나쁘지 않군. 더보기
Java 8 Launch video http://www.oracle.com/events/us/en/java8/index.html 더보기
protocols-pop3 ㅁ SMTP , POP, IMAP 중에 pop 이 그나마 만만해보여서 먼저~ @PostConstruct public void init() throws Exception { servers = createServers(log, config); for (AbstractConfigurableAsyncServer server: servers) { server.init(); } } @PostConstruct public final void init() throws Exception { if (isEnabled()) { buildSSLContext(); preInit(); executionHandler = createExecutionHander(); bind(); mbeanServer = ManagementFacto.. 더보기