、私は次のメッセージがユーザーに電子メールを送信するためにはPostfix SMTPサーバに接続するために豆を牽引してきましたラップトップにGlassFish 2.1でNetBeansを使用してこのアプリケーションをデプロイすると、SMTPサーバーに接続して電子メールを完全に送信できます。ただし、すべての設定をオンラインのSun Java System Application Server 9.1にコピーしてアプリケーションを配備すると、アプリケーションから電子メールを送信できなくなります。代わりに、 "Transport.send(email)"という行でjavax.mail.AuthenticationFailedException例外が発生しました。javax.mail.AuthenticationFailedException 9.1とPostfixのメールサーバは、自分のアプリケーションで
[#|2011-08-01T15:18:02.077+0400|SEVERE|sun-appserver9.1|ejb.Mailing.OutgoingEmailBean|_ThreadID=34;_ThreadName=p: thread-pool-1; w: 665;_RequestID=52699cfe-71a2-46be-83b0-f3af23d74c0c;|The log message is null.
javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:319)
at javax.mail.Service.connect(Service.java:169)
at javax.mail.Service.connect(Service.java:118)
at javax.mail.Transport.send0(Transport.java:188)
at javax.mail.Transport.send(Transport.java:118)
at ejb.Mailing.OutgoingEmailBean.onMessage(OutgoingEmailBean.java:110)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1111)
at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:74)
at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:179)
at $Proxy93.onMessage(Unknown Source)
at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:258)
at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
|#]
私はGlassFishの2.1のすべてのローカル設定は、オンラインアプリケーションサーバーの設定と同じですが、私はまだ問題を解決することができないことを確認するために周りを探し、2日間を過ごした:サーバーログでは、私はこれらの行を見ました。誰かがこの問題に取り組む方法について助言を与えることができれば、とても感謝しています。
敬具、
ジェームズ・トラン
'mail.smtp.user'、' mail.smtp.host'、 'mail.smtp.port'のようなすべてのプロパティを設定しましたか? - 静的トランスポートコールを使用する場合は、これらを設定する必要があります。 – timbooo
私のコードにこれらのプロパティを明示的に追加しませんでした。アプリケーションサーバーの "mailSession"の設定では、 "Mail host"、 "Default User"& "Default Return Address"の3つのプロパティと "mail-smtp-port"の3つのプロパティが既に設定されています。 "mail-smtp-password"& "mail-smtp-auth"と入力します。私が何かを見逃したら教えてください。 –