Java 用于发送电子邮件的Springbean

Java 用于发送电子邮件的Springbean,java,spring,Java,Spring,我需要创建一个具有以下结构的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时,我需要使用所有属性设置对象

我需要创建一个具有以下结构的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时,我需要使用所有属性设置对象,除了我将设置的主体内容。有可能做到这一点吗?如果有,怎么做?

Spring的
JavaMailSender
接口不要求实现提供主机、端口和其他SMTP信息。但是,它的
JavaMailSenderImpl
之一提供了这些方法

您所要做的就是将变量
jms
的类型更改为
JavaMailSenderImpl
,调用setter,然后返回它

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

    mailSender.setUsername("my.gmail@gmail.com");
    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;
}

用实际代码替换您的注释,做您想做的事情?