使用电子邮件服务时发生Grails错误

使用电子邮件服务时发生Grails错误,grails,groovy,controller,service,email,Grails,Groovy,Controller,Service,Email,这是控制器 类JavaMailerController{ JavaMailerService javamailerservice def x = {javamailerservice.serviceMethod()} } 这就是服务 导入javax.mail;;导入 javax.mail.internet;导入 java.util.* 类JavaMailerService{ boolean transactional = false def serviceMethod() { String

这是控制器

类JavaMailerController{

JavaMailerService javamailerservice
def x = {javamailerservice.serviceMethod()} }
这就是服务

导入javax.mail;;导入 javax.mail.internet;导入 java.util.*

类JavaMailerService{

boolean transactional = false

def serviceMethod() { String  d_email = "thisemail@gmail.com",
        d_password = "thispassword",
        d_host = "smtp.gmail.com",
        d_port  = "587",
        m_to = "thisto@gmail.com",
        m_subject = "Testing",
        m_text = "Hey, this is the testing email.";

    Properties props = new Properties();
    props.put("mail.smtp.user", d_email);
    props.put("mail.smtp.host", d_host);
    props.put("mail.smtp.port", d_port);
    props.put("mail.smtp.starttls.enable","true");
//以防万一,但不是现在 很奇怪,这是必要的 props.put(“mail.smtp.auth”,“true”); //props.put(“mail.smtp.debug”,“true”); props.put(“mail.smtp.socketFactory.port”, d_港); props.put(“mail.smtp.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”); props.put(“mail.smtp.socketFactory.fallback”, “虚假”)

新互联网地址(mu to);; 发送(msg); } 捕获(mex例外) { mex.printStackTrace(); } }

}

私有类SMTPAuthenticator 扩展javax.mail.Authenticator { 公共密码身份验证getPasswordAuthentication() { 返回新密码验证(d_电子邮件, d_密码); } }

错误

错误200:java.lang.NullPointerException:无法对null对象调用方法serviceMethod() Servlet:grails URI:/JavaMailer/grails/JavaMailer/x.dispatch 异常消息:无法对null对象调用方法serviceMethod() 原因:java.lang.NullPointerException:无法对null对象调用方法serviceMethod() 类别:未知 第[-1]行
代码片段:

我认为您没有在控制器中设置服务字段

class JavaMailerController {
   JavaMailerService javaMailerService
   def x = {
      javaMailerService.serviceMethod()
   } 
}
class JavaMailerController {
   JavaMailerService javaMailerService
   def x = {
      javaMailerService.serviceMethod()
   } 
}