У меня проблема с тем, что мое приложение иногда тратит 5-10 секунд между шагами 2 и 3 (каждые несколько дней) на 100-200 запросов.Он обрабатывает около 100
запросов в секунду.
Step 1: S: 220 <SMTP server info>
Step 2: TCP Ack for 220
Step 3: EHLO <Client host name>
Я использовал Java Mail 1.4.5
и теперь перешел на 1.6.1
, но у меня возникла та же проблема.
Я устанавливаю эти свойствапри создании сеанса:
props.setProperty("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", <HOST>);
props.put("mail.smtp.port", <PORT>);
props.put("mail.from", <EMAIL_SENDER>);
props.put("mail.smtp.timeout", <READ_TIMEOUT>);
props.put("mail.smtp.writetimeout", <WRITE_TIMEOUT>);
props.put("mail.smtp.connectiontimeout", <CONN_TIMEOUT>);
Я включил дамп TCP и не вижу разрешения DNS, которое происходит между шагами 2 и 3. Я знаю, что перед отправкой EHLO, java mail попытается разрешить имя хостана стороне клиента.На EHLO устанавливается правильное имя хоста.
Я сейчас не устанавливаю свойства mail.smtp.localhost
или mail.smtp.localaddress
.
Есть предложения о том, что может происходить?