2017-11-06 18 views
-1

を送信するために、私はこのような構造でBeanを作成する必要があります。春の豆メール

@Bean 
public JavaMailSender getSender() { 
    JavaMailSender jms = new JavaMailSenderImpl(); 

    // here I need somehow to set up to object sender's email, password, subject, port ... 

    return jms; 
} 

私はコンテキストからBeanを取得する場合、私は本文の内容を除くすべてのプロパティで設定したオブジェクトを持っている必要があり、その私は設定します。もしそうなら、これを行うことは可能ですか?

+1

コメントは実際のコードで置き換えてください。 –

答えて

0

春のJavaMailSenderインターフェイスは、実装がホスト、ポートおよびその他のSMTP情報を提供することを強制しません。しかしながら、implementing classJavaMailSenderImplのうちの1つは、それらの方法を提供する。

すべて、変数jmsJavaMailSenderImplに変更して、セッターを呼び出してからそれを返す必要があります。

@Bean 
public JavaMailSender getJavaMailSender() { 
    JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); 
    mailSender.setHost("smtp.gmail.com"); 
    mailSender.setPort(587); 

    mailSender.setUsername("[email protected]"); 
    mailSender.setPassword("password"); 

    Properties props = mailSender.getJavaMailProperties(); 
    props.put("mail.transport.protocol", "smtp"); 
    props.put("mail.smtp.auth", "true"); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.debug", "true"); 

    return (JavaMailSender)mailSender; 
}