2012-06-14 6 views
13

春に新しくなりました。私は次の例外がキャッチされています:プロトコルのプロバイダを見つけることができません:smtp

2012-06-14 16:20:57,719 [http-8080-6] ERROR com.nimchip.lmu.data.service.impl.CoworkerServiceImpl - Error sending mail: 
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp. Failed messages: javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp 
    at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:400) ~[spring-context-support-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:306) ~[spring-context-support-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:296) ~[spring-context-support-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at com.nimchip.lmu.data.service.impl.CoworkerServiceImpl.genUpdateNomination(CoworkerServiceImpl.java:224) ~[lmu-dataaccess-1.0.0.jar:na] 
    at com.nimchip.lmu.controller.coworkerNom.CoworkerController.genUpdateNomination(CoworkerController.java:312) 

私はweb.xmlに登録されているmail-config.xmlを持っています。ここではありません:

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 

    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
     <property name="host" value="10.30.137.190"/> 
     <property name="port" value="25"/> 
    </bean> 

</beans> 

私が指定したメールサーバーに匿名でログオンすることができるはずなので、ユーザーまたはパスワードが必要でした。

私には何が欠けていますか?

答えて

28

クラスパスにmail.jaractivation.jarがありますか?

これらのクラスはsmtp-providerを提供する必要があります。

単にあなたのポンポンにこれを追加し、Mavenを使用している場合:

<dependency> 
     <groupId>javax.mail</groupId> 
     <artifactId>mail</artifactId> 
     <version>1.4</version> 
    </dependency> 

    <dependency> 
     <groupId>javax.activation</groupId> 
     <artifactId>activation</artifactId> 
     <version>1.0.2</version> 
    </dependency> 
+0

[OK]を、私は私にはないかなり確信しています。しかし、どうすればmavenを使ってそれらを追加できますか?私は依存関係として何かを置くだけですか?私はメイヴンと春の間にたくさんの複雑なことは分かっていませんが、残念ながらそれを学ぶことを任されました。 – Nimchip

+0

はい、mavenを追加するだけです。あなたのリポジトリでメールとアクティベーションを検索します。 –

+0

これで問題が解決したかどうか確認してください。 – Nimchip

0

私は同じ問題を抱えていました。私はartifact idとしてmailapiを使用していましたが、それが原因でした。 私は <artifactId>mail</artifactId><artifactId>mailapi</artifactId>を交換し、それがうまく働いた

関連する問題