Spring mail support - no topic

I updated my libraries and now emails are sent without a subject. I do not know where this happened ...

Mail API is 1.4.3., Spring 2.5.6. and Spring Integration Mail 1.0.3.RELEASE.

<!-- Definitions for SMTP server -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="${mail.host}" />
    <property name="username" value="${mail.username}" />
    <property name="password" value="${mail.password}" />
</bean>

<bean id="adminMailTemplate" class="org.springframework.mail.SimpleMailMessage" >
    <property name="from" value="${mail.admin.from}" />
    <property name="to" value="${mail.admin.to}" />
    <property name="cc">
        <list>
            <value>${mail.admin.cc1}</value>
        </list>
    </property>
</bean>

<!-- Mail service definition -->
<bean id="mailService" class="net.bbb.core.service.impl.MailServiceImpl">
    <property name="sender" ref="mailSender"/>
    <property name="mail" ref="adminMailTemplate"/>
</bean>

And the properties are mail.host, mail.username, mail.password, mail.admin.from, mail.admin.to, mail.admin.cc1.

Java class:

/** The sender. */
private MailSender sender;

/** The mail. */
private SimpleMailMessage mail;

public void sendMail() {
    this.mail.setSubject("Subject");

    this.mail.setText("msg body");          

    try {
        getSender().send(this.mail);
    } catch (MailException e) {
        log.error("Error sending mail!",e);
    }
}

public SimpleMailMessage getMail() {
    return this.mail;
}

public void setMail(SimpleMailMessage mail) {
    this.mail = mail;
}

public MailSender getSender() {
    return this.sender;
}

public void setSender(MailSender mailSender1) {
    this.sender = mailSender1;
}

Everything worked before that, I wonder if there may be conflicts with the new libraries.

+3
source share
2 answers
Finally, I had time to solve this problem.

In pom.xml, I added a java mail dependency and threw an exception for jeramail geronimo in the HTTP dependent apache axis dependency.

+5
source

, , singleton SimpleMailMessage bean. , sendMail SimpleMailMessage. , , .

SimpleMailMessage , :

<bean id="mailService" class="net.bbb.core.service.impl.MailServiceImpl">
    <property name="sender" ref="mailSender"/>
    <property name="template" ref="adminMailTemplate"/>
</bean>

private SimpleMailMessage template;

public void setTemplate(SimpleMailMessage template) {
   this.template = template;
}

public void sendMail() {
    SimpleMailMessage message = new SimpleMailMessage(template);
    message.setSubject("Subject");
    message.setText("msg body");          

    try {
        getSender().send(message);
    } catch (MailException e) {
        log.error("Error sending mail!",e);
    }
}
+1

Source: https://habr.com/ru/post/1733870/


All Articles