2014-06-07 21 views
9

Có một số ví dụ về cách MailSender có thể được định cấu hình thông qua cấu hình java không? Tất cả các ví dụ mà tôi đã nhìn thấy sử dụng xml để tạo ra hạt cà phê cần thiết:Cấu hình thư 4 mùa xuân qua cấu hình java

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
    <property name="host" value="mail.mycompany.com"/> 
</bean> 

<!-- this is a template message that we can pre-load with default state --> 
<bean id="templateMessage" class="org.springframework.mail.SimpleMailMessage"> 
<property name="from" value="[email protected]"/> 
<property name="subject" value="Your order"/> 
</bean> 

Trả lời

18

Mã bạn được đăng (cùng với một số cải tiến nhỏ để làm cho nó có thể cấu hình nhiều hơn) sẽ được chuyển đổi thành các cấu hình Java sau:

@Configuration 
public class MailConfig { 

    @Value("${email.host}") 
    private String host; 

    @Value("${email.from}") 
    private String from; 

    @Value("${email.subject}") 
    private String subject; 

    @Bean 
    public JavaMailSender javaMailService() { 
     JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); 
     javaMailSender.setHost(host); 
     return javaMailSender; 
    } 

    @Bean 
    public SimpleMailMessage simpleMailMessage() { 
     SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); 
     simpleMailMessage.setFrom(from); 
     simpleMailMessage.setSubject(subject); 
     return simpleMailMessage; 
    } 
} 

Bạn cũng nên biết thực tế là Khởi động mùa xuân (mà bạn chưa đề cập đến việc bạn có đang sử dụng) có thể tự động định cấu hình JavaMailSender cho bạn hay không. Kiểm tra this một phần tài liệu

+0

Xin chào, tôi biết nó cũ, nhưng tôi sử dụng mã của bạn trong dự án của tôi, tôi chỉ thêm tham số vào hàm như simpleMailMessage (String body) {...}. Bạn có thể cho tôi biết làm thế nào tôi có thể sử dụng đậu đó? –

+0

@DenisStephanov [This] (https://docs.spring.io/spring/docs/4.3.12.RELEASE/spring-framework-reference/htmlsingle/#mail) một phần của tài liệu nên làm rõ việc sử dụng cho bạn – geoand

+0

Điều này không giúp tôi, bởi vì nó thể hiện việc gửi email nhưng vấn đề của tôi là làm thế nào để sử dụng nó như là đậu. Tôi có nên autowired đó? Nếu có làm thế nào để làm điều đó với tham số trong chức năng của tôi mà tạo ra SimpleMailMessage?:/ –

Các vấn đề liên quan