2017-02-23 1 views
1

Ich habe einen E-Mail-Service von it.ozimov Bibliothek implementiert. Wenn alles importiert wurde, gibt es ein Problem mit der send-Methode. Ich kann nicht herausfinden, wie es importiert werden sollte, denn jetzt kann der Dienst es nicht sehen.E-Mail-Service von it.ozimov kann die send-Methode nicht sehen

Hier ist es Abhängigkeiten, die ich anbringen

<dependency> 
     <groupId>it.ozimov</groupId> 
     <artifactId>spring-boot-email-core</artifactId> 
     <version>0.4.2</version> 
    </dependency> 
    <dependency> 
     <groupId>it.ozimov</groupId> 
     <artifactId>spring-boot-freemarker-email</artifactId> 
     <version>0.4.2</version> 
    </dependency> 

Hier ist es ein Service-Code

@Autowired 
public EmailService emailService; 

public void sendEmailWithoutTemplating() throws UnsupportedEncodingException { 
    final Email email = DefaultEmail.builder() 
      .from(new InternetAddress("[email protected]", "Marco Tullio Cicerone ")) 
      .to(Lists.newArrayList(new InternetAddress("[email protected]", "Pomponius Attĭcus"))) 
      .subject("Laelius de amicitia") 
      .body("Firmamentum autem stabilitatis constantiaeque eius, quam in amicitia quaerimus, fides est.") 
      .encoding(String.valueOf(Charset.forName("UTF-8"))).build(); 

    emailService.send(email); 
} 

Natürlich habe ich bei Eigenschaften unter Code hinzugefügt:

spring.mail.host=smtp.gmail.com 
spring.mail.port=587 
[email protected] 
spring.mail.password=V3ry_Str0ng_Password 
spring.mail.properties.mail.smtp.auth=true 
spring.mail.properties.mail.smtp.starttls.enable=true 
spring.mail.properties.mail.smtp.starttls.required=true 

spring.mail.scheduler.persistence.enabled=false 
spring.mail.scheduler.persistence.redis.embedded=false 
spring.mail.scheduler.persistence.redis.enabled=false 

Antwort

1

Als erstes Update die Abhängigkeiten:

<dependency> 
    <groupId>it.ozimov</groupId> 
    <artifactId>spring-boot-email-core</artifactId> 
    <version>0.5.0</version> 
</dependency> 
<dependency> 
    <groupId>it.ozimov</groupId> 
    <artifactId>spring-boot-freemarker-email</artifactId> 
    <version>0.5.0</version> 
</dependency> 

Dann legen Sie die Anwendungseigenschaften:

spring.mail.host: smtp.gmail.com 
spring.mail.port: 587 
spring.mail.username: [email protected] 
spring.mail.password: Th3MuleWh0 
spring.mail.properties.mail.smtp.auth: true 
spring.mail.properties.mail.smtp.starttls.enable: true 
spring.mail.properties.mail.smtp.starttls.required: true 

Endlich ein Testservice

package com.test; 

import com.google.common.collect.Lists; 
import it.ozimov.springboot.mail.model.Email; 
import it.ozimov.springboot.mail.model.defaultimpl.DefaultEmail; 
import it.ozimov.springboot.mail.service.EmailService; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Service; 

import javax.mail.internet.InternetAddress; 
import java.io.UnsupportedEncodingException; 

import static com.google.common.collect.Lists.newArrayList; 

@Service 
public class TestService { 

    @Autowired 
    private EmailService emailService; 

    public void sendEmail() throws UnsupportedEncodingException { 
     final Email email = DefaultEmail.builder() 
       .from(new InternetAddress("[email protected]", 
         "Hari Seldon")) 
       .to(newArrayList(
         new InternetAddress("[email protected]", 
         "Cleon I"))) 
       .subject("You shall die! It's not me, it's Psychohistory") 
       .body("Hello Planet!") 
       .encoding("UTF-8").build(); 

     emailService.send(email); 
    } 

} 

Pay extreme Aufmerksamkeit auf die Pakete erstellen importiert.

Schließlich müssen Sie die Erweiterung in Ihrem Haupt-App mit der Annotation können

@EnableEmailTools 

Sie mehr in this article finden ermöglichen.

Verwandte Themen