| 
                ありがとうございます。
  もちろん、違法メール業者の存在も承知の上ですが、 一応、エンドユーザはちゃんとした企業で、そのメルマガを配信する機能です。
  いくらネットワークの帯域が大きくても、サーバが一気に受け入れられなければ、 アプリ側で非同期にレスポンスを待たずに実行しても、サーバ側がパンクしてしまうでしょうし。
  現在、このようにセッションを確立して投げても、30分で1万件程度です。 これにはもちろん、メールサーバ側の1日の最大送信件数、及びサーバ機性能の 条件の上だという事は承知していますが、Java側(アプリ)でパフォーマンスアップの 手法が他に無いか確認したく、思いました。
  現在でも、PC6GB搭載の開発機でメモリ70%占有しておりますが、、、
  よろしくお願いします。
  try{ 	Properties props = new Properties(); 	props.put("mail.smtp.host", m_smtp); 	props.put("mail.smtp.auth", "true"); 	Session session = Session.getInstance(props, new myAuth());
  	MimeMessage mime = new MimeMessage(session); 	InternetAddress[] addressTo = new InternetAddress[1]; 	InternetAddress fromAddress = new InternetAddress(m_adrs,MimeUtility.encodeWord(m_name,"iso-2022-jp","B")); 	mime.setFrom(fromAddress); 	mime.setHeader("Content-Transfer-Encoding","7bit"); 	mime.setSubject(MimeUtility.encodeText(title,"iso-2022-jp","B")); 	mime.setContent(honbun,"text/plain; charset=iso-2022-jp"); 	mime.setSentDate(new Date());      	Transport transport = session.getTransport("smtp");     transport.connect();     for (int i = 0; i < alist.size(); i++) { 		String ml = alist.get(i); 		try { 			if (ken != 0 && i != 0 && (i % ken == 0)) { 		    	log.info(" "+(i+1)+"件目 "+(mate / 1000)+"秒待機します"); 				Thread.sleep(mate); 			} 			// メール送信 			addressTo[0] = new InternetAddress(ml); 			mime.setRecipients(MimeMessage.RecipientType.TO,addressTo); 			transport.send(mime,addressTo); 		} catch (Exception e) { 	        log.error(" 送信失敗:"+ml); 		} 	} 	transport.close(); } catch (Exception e) { 	log.error("予期せぬエラー:"+e.getMessage());     e.printStackTrace(); }
 
  |