2016-11-04 4 views
1

Ich erhalte unten genannte Ausnahme bei dem Versuch, Feder Boot E-Mail-Funktion zu nutzen:org.springframework.mail.MailSendException: Failed Nachrichten: java.lang.NullPointerException

Caused by: org.springframework.mail.MailSendException: Failed messages: java.lang.NullPointerException 

Dies ist meine Mail-Konfiguration Klasse:

@Configuration 
public class MailConfiguration { 

    private final MailProperties mailProperties; 

    @Autowired 
    public MailConfiguration (MailProperties mailProperties) { 
     this.mailProperties = mailProperties; 
    } 

    @Bean 
    public JavaMailSender javaMailSender() { 
     JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); 
     Properties properties = new Properties(); 
     properties.put("mail.smtp.auth", mailProperties.getSmtp().isAuth()); 
     properties.put("mail.smtp.starttls.enable", mailProperties.getSmtp().isStarttlsEnable()); 
     mailSender.setJavaMailProperties(properties); 
     mailSender.setHost(mailProperties.getHost()); 
     mailSender.setPort(mailProperties.getPort()); 
     mailSender.setProtocol(mailProperties.getProtocol()); 
     mailSender.setUsername(mailProperties.getUsername()); 
     mailSender.setPassword(mailProperties.getPassword()); 
     return mailSender; 
    } 
} 

Dies ist die Mail Eigenschaften Klasse:

Dies ist die Mail-Service-Klasse:

public class MailServiceImpl implements MailService { 

    private final JavaMailSender javaMailSender; 

    private static final Logger log = LoggerFactory.getLogger(MailServiceImpl.class); 

    @Autowired 
    public MailServiceImpl (JavaMailSender javaMailSender) { 
     this.javaMailSender = javaMailSender; 
    } 


    @Override 
    public void send (String receiver, String sender, String message, String filenameAndLocation) { 
     SimpleMailMessage msg = new SimpleMailMessage(); 
     msg.setText(receiver); 
     msg.setFrom(sender); 
     msg.setText(message); 
     msg.setSubject("testing subject"); 
     javaMailSender.send(msg); 
    } 
} 

Ich bin nur tryin die Methode wie folgt zu nennen: mailService.send ("[email protected]", "[email protected]" , "Test Test");

+0

Bitte fügen Sie vollen Stack-Trace (oder einen Teil mit der Nummer Ursache Linie) –

+0

Dank, aber ich fand schon das Problem. –

Antwort

0

Meine Mail-Service-Klasse war falsch, das ist das eine richtig ist:

@Service 
public class MailServiceImpl implements MailService { 

    private final JavaMailSender javaMailSender; 

    private static final Logger log = LoggerFactory.getLogger(MailServiceImpl.class); 

    @Autowired 
    public MailServiceImpl (JavaMailSender javaMailSender) { 
     this.javaMailSender = javaMailSender; 
    } 


    @Override 
    public void send (String receiver, String sender, String message, String filenameAndLocation) { 
     MimeMessagePreparator preparator = new MimeMessagePreparator() { 
      @Override 
      public void prepare (MimeMessage mimeMessage) throws Exception { 
       MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage); 
       messageHelper.setTo(receiver); 
       messageHelper.setFrom(sender); 
       messageHelper.setSubject("test subject"); 
       messageHelper.setText(message); 
      } 
     }; 
     this.javaMailSender.send(preparator); 
    } 
} 
Verwandte Themen