2012-06-14 21 views
13

Mới đến mùa xuân. Tôi nhận được ngoại lệ sau bị bắt:Không thể định vị nhà cung cấp cho giao thức: 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) 

Tôi có một mail-config.xml được đăng ký trong web.xml của tôi. Ở đây là:

<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> 

tôi sẽ có thể đăng nhập nặc danh đến mail server quy định, vì vậy không có người dùng hoặc mật khẩu cần thiết.

Tôi đang thiếu gì?

Trả lời

28

Bạn có mail.jaractivation.jar trong đường dẫn lớp học của mình không?

Các lớp học này sẽ cung cấp cho nhà cung cấp dịch vụ smtp.

Nếu bạn đang sử dụng maven, chỉ cần thêm này để pom của bạn:

<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 tôi khá chắc chắn là không. Nhưng làm thế nào để tôi thêm chúng bằng cách sử dụng maven? Tôi chỉ cần đặt một cái gì đó như là một phụ thuộc? Tôi không biết rất nhiều phức tạp giữa maven và mùa xuân nhưng tôi đã được giao nhiệm vụ học chúng xin lỗi. – Nimchip

+0

Có, bạn chỉ có thể thêm chúng với maven. Tìm kiếm thư và kích hoạt trong kho lưu trữ của bạn. –

+0

Ok xong, hãy để tôi xem có khắc phục được không. – Nimchip

0

tôi đã cùng một vấn đề. Tôi đã sử dụng mailapi như id tạo tác và điều đó đã gây ra sự cố. Tôi đã thay thế <artifactId>mailapi</artifactId> bằng <artifactId>mail</artifactId> và hoạt động tốt

Các vấn đề liên quan