Это контроллер
class JavaMailerController {
JavaMailerService javamailerservice def x = {javamailerservice.serviceMethod()} }
Это служба
импортировать javax.mail. ; импортировать javax.mail.internet.; import java.util. *;
class JavaMailerService {
boolean transactional = false def serviceMethod() { String d_email = "[email protected]", d_password = "thispassword", d_host = "smtp.gmail.com", d_port = "587", m_to = "[email protected]", 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_port); props.put ("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put ("mail.smtp.socketFactory.fallback", "false");
SecurityManager security = System.getSecurityManager(); try { Authenticator auth = new SMTPAuthenticator(); Session session = Session.getInstance(props, auth); //session.setDebug(true); MimeMessage msg = new MimeMessage(session); msg.setText(m_text); msg.setSubject(m_subject); msg.setFrom(new InternetAddress(d_email)); msg.addRecipient(Message.RecipientType.TO,
новый Интернет-адрес (m_to)); Transport.send (сообщение); } catch (исключение mex) {mex.printStackTrace (); }}
}
частный класс SMTPAuthenticator расширяет javax.mail.Authenticator {public PasswordAuthentication getPasswordAuthentication () {возвращает новый PasswordAuthentication (d_email, d_password); }}
Ошибка
Ошибка 200: java.lang.NullPointerException: невозможно вызвать метод serviceMethod () для нулевого объекта Сервлет: grails URI: /JavaMailer/grails/javaMailer/x.dispatch Сообщение об исключении: невозможно вызвать метод serviceMethod () для нулевого объекта Причина: java. lang.NullPointerException: невозможно вызвать метод serviceMethod () для нулевого объекта. Класс: Неизвестно В строке: [-1] Фрагмент кода: