2012-03-21 3 views
0

Я использовал java-почту (com.sun.mail.smtp) из моего проекта struts. Почта отправляется успешно, но получатель заканчивает почту таким образом отложенным. Это займет 2 или 3 часа.Задержка отправки почты Java

Когда я использую PHP-почтовую программу с одинаковыми настройками smtp, нет задержки, почта работает отлично.

Любой, кто сталкивается с этой проблемой, знает, в чем причина?

+0

Вы пробовали использовать профилировщик, чтобы узнать, что происходит? –

+0

Как вы сравниваете использование почты PHP ($ address ', $ subject, $ msg); к использованию пакета javax.mail. *? Контейнер PHP устанавливает параметры почтового шлюза, и при использовании javax.mail вы устанавливаете параметры шлюза. Прояснить. – Java42

ответ

2

Javamail не сохраняет и не пересылает сообщения. Поэтому, если вы успешно отправили письмо на почтовый сервер, вызвав Transport.sendMessage() и не получив ошибку. Он сидит на почтовом сервере, ожидая доставки. Вам нужно будет проверить, что вы установили как ваш smtp-сервер, имя пользователя и пароль. Это то, что вы отправляете в Transport.connect (сервер, имя пользователя, пароль). Убедитесь, что они такие же, как те, которые вы используете в PHP. Если вы не устанавливаете их в PHP, я готов поспорить, что вы не используете одни и те же настройки и, следовательно, почему один сервер занимает больше времени, чем другой.

Поместите некоторые выражения синхронизации вокруг вызовов Transport.connect(), Transport.sendMessage(), Transport.close(). Посмотрите, как долго он проходит, чтобы пройти через этот раздел. Если это займет очень короткое время, вы знаете, что ошибка существует на стороне почтового сервера. И я уверен, вы не разговариваете с сервером, с которым, по вашему мнению, разговариваете.

Смежные вопросы