2013-03-01 68 views
2

我想发送一个纯文本电子邮件使用春天框架。我正在使用netbeans IDE,并且在我的依赖关系文件夹中添加了mail.jar,common.jar。我的代码如下:春天mailSender抛出nullPointerException

@Service("emailService") 
    public class EmailService { 

     @Inject 
     private MailSender mailSender; 



     @RequestMapping(method = RequestMethod.POST) 
     public void sendMail(String from, String to, String subject, String body) { 
      System.out.println("=============from:"+from); 
       System.out.println("==========to:"+to); 
       System.out.println("subject: "+subject); 
       System.out.println("body: "+body); 

      SimpleMailMessage message = new SimpleMailMessage(); 

      message.setFrom(from); 
      message.setTo(to); 
      message.setSubject(subject); 
      message.setText(body); 
      this.mailSender.send(message); 
       System.out.println("----------after sendig mail"); 

     } 
} 

我得到NullPointerException this.mailSender.send(message);

我的applicationContext.xml如下:

<!-- Required for sending mail using spring framework --> 
<context:component-scan base-package="net.codejava.spring" /> 

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
    <property name="host" value="smtp.gmail.com" /> 
    <property name="port" value="587" /> 
    <property name="username" value="USERNAME" /> 
    <property name="password" value="PASSWRD" /> 
    <property name="javaMailProperties"> 
     <props> 
      <prop key="mail.transport.protocol">smtp</prop> 
      <prop key="mail.smtp.auth">true</prop> 
      <prop key="mail.smtp.starttls.enable">true</prop> 
     </props> 
    </property> 
</bean> 

请告诉我如何克服它。

+0

可以共享堆栈跟踪 – 2013-03-01 06:05:54

+0

不知何故没有被自动连接您在'xml'文件中创建您的mailsender并尝试添加setter方法。 – SRy 2013-03-01 07:06:39

+0

感谢您的回复。我已经能够解决它。我在我的代码中添加了follwoing行 – 2013-03-01 07:12:38

回答

0

只是改变@Inject@Autowired

相关问题