[Seasar-user:10606] Re: [S2Mai] NotSerializableException: freemarker.core.Environment について

Junichi Kato [E-MAIL ADDRESS DELETED]
2007年 9月 18日 (火) 14:16:21 JST


六さん,
加藤です.

自己解決.

Maiのインターフェイスの引数は,

public interface ExampleMai {

	public void sendMail(ExampleMailDto data);

}

dataが固定なんですね.
data以外を指定すると,以下のようになります.
お騒がせしました.

On Tue, 18 Sep 2007 13:54:08 +0900
Junichi Kato <[E-MAIL ADDRESS DELETED]> wrote:

> 六さん,
> 加藤です.
> 
> 再度,環境を作りなしたところ,ozacc-mail-libraryの1.2.1でうまく送信できました.
> 
> 少し進んで,別の問題なのですが,
> 
> <component class="org.seasar.mai.creator.MaiCreator"/>
> 
> HOT deployで,MaiCreatorを使っているのですが,以下のような例外に見舞われています.
> 
>  freemarker.core.Environmentがシリアライズできないといっているのでしょうか.
> どうにかして回避する方法はないでしょうか?
> 
> DEBUG 2007-09-18 13:45:23,211 [http-8080-Processor24] [ESSR0040]IO例外が発生しました。理由はjava.io.NotSerializableException: freemarker.core.Environment
> org.seasar.framework.exception.IORuntimeException: [ESSR0040]IO例外が発生しました。理由はjava.io.NotSerializableException: freemarker.core.Environment
> 	at org.seasar.framework.container.hotdeploy.HotdeployUtil$RebuilderImpl.rebuild(HotdeployUtil.java:164)
> 	at org.seasar.framework.container.hotdeploy.HotdeployUtil.rebuildValueInternal(HotdeployUtil.java:126)
> 	at org.seasar.framework.container.hotdeploy.HotdeployUtil.rebuildValue(HotdeployUtil.java:107)
> 	at org.seasar.framework.container.external.RebuildableExternalContextMap.get(RebuildableExternalContextMap.java:59)
> 	at javax.faces.internal.scope.VariableScope.getContexts(VariableScope.java:100)
> 	at javax.faces.internal.scope.VariableScope.getContext(VariableScope.java:50)
> 	at javax.faces.internal.scope.RedirectScope.isRedirecting(RedirectScope.java:60)
> 	at org.seasar.teeda.extension.html.impl.SessionPagePersistence.isOutputlinkTransition(SessionPagePersistence.java:132)
> 	at org.seasar.teeda.extension.html.impl.SessionPagePersistence.restore(SessionPagePersistence.java:105)
> 	at org.seasar.teeda.extension.html.impl.HtmlViewHandler.setUpRequestForExternalBinding(HtmlViewHandler.java:110)
> 	at org.seasar.teeda.extension.html.impl.HtmlViewHandler.restoreView(HtmlViewHandler.java:103)
> 	at org.seasar.teeda.core.lifecycle.impl.RestoreViewPhase.composeViewRoot(RestoreViewPhase.java:113)
> 	at org.seasar.teeda.core.lifecycle.impl.RestoreViewPhase.executePhase(RestoreViewPhase.java:81)
> 	at org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
> 	at org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:68)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:77)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> 	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> 	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> 	at java.lang.Thread.run(Unknown Source)
> Caused by: java.io.NotSerializableException: freemarker.core.Environment
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
> 	at java.lang.Throwable.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject(Unknown Source)
> 	at java.util.HashMap.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
> 	at java.util.Collections$SynchronizedMap.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject(Unknown Source)
> 	at java.util.HashMap.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
> 	at java.util.Collections$SynchronizedMap.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject(Unknown Source)
> 	at org.seasar.framework.container.hotdeploy.HotdeployUtil$RebuilderImpl.rebuild(HotdeployUtil.java:156)
> 	... 41 more
> DEBUG 2007-09-18 13:45:23,226 [http-8080-Processor24] HOT deployを終了しました
> 2007-09-18 13:45:23,226 [http-8080-Processor24] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/example-web].[facesServlet] - サーブレット facesServlet のServlet.service()が例外を投げました
> org.seasar.framework.exception.IORuntimeException: [ESSR0040]IO例外が発生しました。理由はjava.io.NotSerializableException: freemarker.core.Environment
> 	at org.seasar.framework.container.hotdeploy.HotdeployUtil$RebuilderImpl.rebuild(HotdeployUtil.java:164)
> 	at org.seasar.framework.container.hotdeploy.HotdeployUtil.rebuildValueInternal(HotdeployUtil.java:126)
> 	at org.seasar.framework.container.hotdeploy.HotdeployUtil.rebuildValue(HotdeployUtil.java:107)
> 	at org.seasar.framework.container.external.RebuildableExternalContextMap.get(RebuildableExternalContextMap.java:59)
> 	at javax.faces.internal.scope.VariableScope.getContexts(VariableScope.java:100)
> 	at javax.faces.internal.scope.VariableScope.getOrCreateContext(VariableScope.java:58)
> 	at javax.faces.internal.scope.RedirectScope.getOrCreateContext(RedirectScope.java:46)
> 	at org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl.saveException(TeedaExtensionErrorPageManagerImpl.java:85)
> 	at org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl.handleException(TeedaExtensionErrorPageManagerImpl.java:59)
> 	at org.seasar.teeda.core.lifecycle.LifecycleImpl.handleException(LifecycleImpl.java:116)
> 	at org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:108)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:77)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> 	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> 	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> 	at java.lang.Thread.run(Unknown Source)
> Caused by: java.io.NotSerializableException: freemarker.core.Environment
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
> 	at java.lang.Throwable.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject(Unknown Source)
> 	at java.util.HashMap.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
> 	at java.util.Collections$SynchronizedMap.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject(Unknown Source)
> 	at java.util.HashMap.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
> 	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
> 	at java.util.Collections$SynchronizedMap.writeObject(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject(Unknown Source)
> 	at org.seasar.framework.container.hotdeploy.HotdeployUtil$RebuilderImpl.rebuild(HotdeployUtil.java:156)
> 	... 37 more
> 
> On Mon, 17 Sep 2007 22:33:42 +0900
> "六" <[E-MAIL ADDRESS DELETED]> wrote:
> 
> > 六です。
> > 
> > s2maiに同梱またはpom.xmlに設定しているozaccさんのmail libraryで、
> > SMTPのユーザー名とパスワードが設定される場合に
> > プロパティ「mail.smtp.auth」の設定がされてませんでした。
> > 
> > 現在の最新のozacc-mail-libraryの1.2.1のソースを確認すると
> > 当該プロパティの設定がされています。
> > 
> > こちらの開発環境で、ozacc-mail-1.2.1.jarに差し替えてテストしましたが
> > 通りましたので、一度そちらで確認していただけますか?
> > 
> > jarはこちらからダウンロードできます。
> > http://sourceforge.jp/projects/spring-ext/
> > 「ozacc-mail library 1.2」というところです。
> > 
> > また、Maven2をお使いの場合は、repositoriesに
> > repositoryを以下のように追加して下さい。
> > 
> > <repositories>
> > ・・・・・(略:多分seasarのリポジトリとか)
> >   <repository>
> >     <id>spring-ext</id>
> >     <name>spring-ext</name>
> >     <url>http://spring-ext.sourceforge.jp/maven</url>
> >     <layout>legacy</layout>
> >   </repository>
> > </repositories>
> > 
> > で、dependenciesに以下を追加して下さい。
> > 
> > <dependency>
> >   <groupId>ozacc-mail</groupId>
> >   <artifactId>ozacc-mail</artifactId>
> >   <version>1.2.1</version>
> >   <type>jar</type>
> > </dependency>
> > 
> > これでozacc-mailのバージョンがあがると思います。
> > お手数ですが宜しく御願いします。
> > 
> > 
> > 
> > 07/09/17 に Junichi Kato<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > 加藤です.
> > >
> > > たぶん,私の環境が問題だと思うのですが,アドバイスをお願いいたします.
> > >
> > > mailProperties.diconは以下のような構成で,
> > >
> > > <components namespace="mailProperties">
> > >     <include path="config.dicon"/>
> > >     <component name="host">
> > >         "mail.grandtech.jp"
> > >     </component>
> > >     <component name="port">
> > >         587
> > >     </component>
> > >     <component name="username">
> > >         "[E-MAIL ADDRESS DELETED]"
> > >     </component>
> > >     <component name="password">
> > >         "hogehoge"
> > >     </component>
> > >     <component name="from">
> > >         null
> > >     </component>
> > >     <component name="replyTo">
> > >         null
> > >     </component>
> > >     <component name="returnPath">
> > >         null
> > >     </component>
> > >     <component name="messageId">
> > >         null
> > >     </component>
> > >     <component name="templateEncoding">
> > >         "UTF-8"
> > >     </component>
> > >     <component name="connectionTimeout">
> > >         10000
> > >     </component>
> > >     <component name="readTimeout">
> > >         10000
> > >     </component>
> > >     <component name="mailCharset">
> > >         "ISO-2022-JP"
> > >     </component>
> > > </components>
> > >
> > >
> > > @RunWith(Seasar2.class)
> > > public class ExampleMaiTest {
> > >
> > >         private ExampleMai exampleMai;
> > >
> > >         @Test
> > >         public void testSendMail() {
> > >                 ExampleMailDto mailData = new ExampleMailDto();
> > >                 mailData.getTo().add(new MailAddress("[E-MAIL ADDRESS DELETED]"));
> > >                 mailData.setFrom(new MailAddress("[E-MAIL ADDRESS DELETED]"));
> > >                 exampleMai.sendMail(mailData);
> > >         }
> > >
> > > }
> > >
> > > というテストを実行すると以下のような例外が発生してしまいます.
> > >
> > > ExampleMailDtoには,
> > >         private MailAddress from;
> > >         private List<MailAddress> to = new ArrayList<MailAddress>();
> > >         private List<MailAddress> cc = new ArrayList<MailAddress>();;
> > >         private List<MailAddress> bcc = new ArrayList<MailAddress>();;
> > >         private String subject;
> > > のプロパティがあります.
> > >
> > > ExampleMai_sendMail.ftlは,以下の通り.
> > > Subject: test mail
> > > test
> > >
> > > ちなみに,当該SMTPサーバは通常のメール用途で利用しており,問題なく送信できます.
> > > SMTP認証は,PLAINと,CRAM-MD5に対応しているサーバです.
> > >
> > > mailPropertiesのusernameと,passwordを指定しているのですが,SMTP認証は実行されているのでしょうか?
> > >
> > > DEBUG 2007-09-17 14:03:12,849 [main] S2Containerを作成しました。path=mailProperties.dicon
> > > DEBUG 2007-09-17 14:03:13,108 [main] send mail...
> > > DEBUG 2007-09-17 14:03:13,109 [main] Mail
> > > Return-Path: null
> > > From: [E-MAIL ADDRESS DELETED]
> > > To: [E-MAIL ADDRESS DELETED]
> > > Cc: null
> > > Bcc: null
> > > Reply-To: null
> > > Subject: test mail
> > >
> > > Subject: test mail
> > > test
> > >
> > > 2007-09-17 14:03:13,689 [main] ERROR com.ozacc.mail.impl.SendMailImpl - メールの送信に失敗しました。
> > > javax.mail.SendFailedException: Invalid Addresses;
> > >   nested exception is:
> > >         com.sun.mail.smtp.SMTPAddressFailedException: 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
> > >
> > >         at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
> > >         at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
> > >         at com.ozacc.mail.impl.SendMailImpl.processSend(SendMailImpl.java:183)
> > >         at com.ozacc.mail.impl.SendMailImpl.send(SendMailImpl.java:129)
> > >         at com.ozacc.mail.impl.SendMailImpl.send(SendMailImpl.java:96)
> > >         at org.seasar.mai.mail.impl.Invocation.send(Invocation.java:46)
> > >         at org.seasar.mai.mail.impl.TransportImpl.send(TransportImpl.java:47)
> > >         at org.seasar.mai.interceptors.S2MaiInterceptor.send(S2MaiInterceptor.java:100)
> > >         at org.seasar.mai.interceptors.S2MaiInterceptor.sendMail(S2MaiInterceptor.java:80)
> > >         at org.seasar.mai.interceptors.S2MaiInterceptor.invoke(S2MaiInterceptor.java:66)
> > >         at org.example.web.mai.ExampleMai$$EnhancedByS2AOP$$1e1ee5d$$MethodInvocation$$sendMail0.proceed(MethodInvocationClassGenerator.java)
> > >         at org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceInterceptor.java:73)
> > >         at org.example.web.mai.ExampleMai$$EnhancedByS2AOP$$1e1ee5d$$MethodInvocation$$sendMail0.proceed(MethodInvocationClassGenerator.java)
> > >         at org.example.web.mai.ExampleMai$$EnhancedByS2AOP$$1e1ee5d.sendMail(ExampleMai$$EnhancedByS2AOP$$1e1ee5d.java)
> > >         at org.example.web.mai.ExampleMaiTest.testSendMail(ExampleMaiTest.java:21)
> > >         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:585)
> > >         at org.seasar.framework.unit.S2TestMethodRunner.executeMethodBody(S2TestMethodRunner.java:673)
> > >         at org.seasar.framework.unit.S2TestMethodRunner.executeMethod(S2TestMethodRunner.java:648)
> > >         at org.seasar.framework.unit.S2TestMethodRunner.runTest(S2TestMethodRunner.java:614)
> > >         at org.seasar.framework.unit.S2TestMethodRunner.runMethod(S2TestMethodRunner.java:253)
> > >         at org.seasar.framework.unit.S2TestMethodRunner.run(S2TestMethodRunner.java:171)
> > >         at org.seasar.framework.unit.S2TestClassMethodsRunner.invokeTestMethod(S2TestClassMethodsRunner.java:227)
> > >         at org.seasar.framework.unit.S2TestClassMethodsRunner.run(S2TestClassMethodsRunner.java:89)
> > >         at org.seasar.framework.unit.S2TestClassRunner.run(S2TestClassRunner.java:47)
> > >         at org.seasar.framework.unit.Seasar2.run(Seasar2.java:168)
> > >         at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
> > >         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> > >         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> > >         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> > >         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> > >         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> > > Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
> > >
> > >         at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1047)
> > >         ... 33 more
> > > DEBUG 2007-09-17 14:03:13,719 [main] END org.example.web.mai.ExampleMai#sendMail([E-MAIL ADDRESS DELETED]) Throwable:com.ozacc.mail.MailSendException: メールの送信に失敗しました。
> > > DEBUG 2007-09-17 14:03:13,731 [main] トランザクションをロールバックしました。tx={0}
> > > DEBUG 2007-09-17 14:03:13,754 [main] 環境変数#Envにファイル(env.txt)から値(ct)が設定されました
> > >
> > > ───────────────────────────────
> > >  株式会社 グランテック
> > >  代表取締役社長
> > >  加藤 潤一 Junichi Kato
> > >
> > > 〒154-0012
> > > 東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
> > > TEL 050-5538-2383  FAX 03-3487-7211
> > > HP : http://www.grandtech.jp/
> > > BLOG : http://d.hatena.ne.jp/j5ik2o/
> > > E-MAIL : [E-MAIL ADDRESS DELETED]
> > >
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> ───────────────────────────────
>  株式会社 グランテック
>  代表取締役社長
>  加藤 潤一 Junichi Kato
> 
> 〒154-0012
> 東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
> TEL 050-5538-2383  FAX 03-3487-7211
> HP : http://www.grandtech.jp/
> BLOG : http://d.hatena.ne.jp/j5ik2o/
> E-MAIL : [E-MAIL ADDRESS DELETED]
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user

───────────────────────────────
 株式会社 グランテック
 代表取締役社長
 加藤 潤一 Junichi Kato

〒154-0012
東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
TEL 050-5538-2383  FAX 03-3487-7211
HP : http://www.grandtech.jp/
BLOG : http://d.hatena.ne.jp/j5ik2o/
E-MAIL : [E-MAIL ADDRESS DELETED]




Seasar-user メーリングリストの案内