27
27
import org .springframework .mail .javamail .JavaMailSenderImpl ;
28
28
import org .springframework .mail .javamail .MimeMessageHelper ;
29
29
30
+ import java .util .Base64 ;
30
31
import javax .mail .internet .MimeMessage ;
31
32
import javax .mail .util .ByteArrayDataSource ;
32
33
import java .util .Map ;
@@ -45,10 +46,10 @@ public class SpringJavaEmailSender extends AbstractEmailSender {
45
46
@ Override
46
47
public void init (Map <String , String > properties ) {
47
48
Properties prop = new Properties ();
48
- prop .put ("mail.smtp.auth" , Boolean . parseBoolean ( EMAIL_SMTP_AUTH ().getValue (properties ) ));
49
- prop .put ("mail.smtp.starttls.enable" , Boolean . parseBoolean ( EMAIL_SMTP_STARTTLS_ENABLE ().getValue (properties ) ));
50
- prop .put ("mail.smtp.starttls.required" , Boolean . parseBoolean ( EMAIL_SMTP_STARTTLS_REQUIRED ().getValue (properties ) ));
51
- prop .put ("mail.smtp.ssl.enable" , Boolean . parseBoolean ( EMAIL_SMTP_SSL_ENABLED ().getValue (properties ) ));
49
+ prop .put ("mail.smtp.auth" , EMAIL_SMTP_AUTH ().getValue (properties ));
50
+ prop .put ("mail.smtp.starttls.enable" , EMAIL_SMTP_STARTTLS_ENABLE ().getValue (properties ));
51
+ prop .put ("mail.smtp.starttls.required" , EMAIL_SMTP_STARTTLS_REQUIRED ().getValue (properties ));
52
+ prop .put ("mail.smtp.ssl.enable" , EMAIL_SMTP_SSL_ENABLED ().getValue (properties ));
52
53
prop .put ("mail.smtp.timeout" , EMAIL_SMTP_TIMEOUT ().getValue (properties ));
53
54
javaMailSender .setJavaMailProperties (prop );
54
55
BiConsumer <Consumer <String >, CommonVars <String >> setProp = (consumer , c ) -> {
@@ -84,10 +85,10 @@ private MimeMessage parseToMimeMessage(Email email) {
84
85
MimeMessage message = javaMailSender .createMimeMessage ();
85
86
try {
86
87
MimeMessageHelper messageHelper = new MimeMessageHelper (message , true );
87
- if (StringUtils .isBlank (email . getFrom ())) {
88
+ if (StringUtils .isBlank (javaMailSender . getUsername ())) {
88
89
messageHelper .setFrom (DEFAULT_EMAIL_FROM ().getValue ());
89
90
} else {
90
- messageHelper .setFrom (email . getFrom ());
91
+ messageHelper .setFrom (javaMailSender . getUsername ());
91
92
}
92
93
messageHelper .setSubject (email .getSubject ());
93
94
messageHelper .setTo (email .getTo ());
@@ -98,7 +99,7 @@ private MimeMessage parseToMimeMessage(Email email) {
98
99
messageHelper .setBcc (email .getBcc ());
99
100
}
100
101
for (Attachment attachment : email .getAttachments ()) {
101
- messageHelper .addAttachment (attachment .getName (), new ByteArrayDataSource (attachment .getBase64Str (), attachment .getMediaType ()));
102
+ messageHelper .addAttachment (attachment .getName (), new ByteArrayDataSource (Base64 . getMimeDecoder (). decode ( attachment .getBase64Str () ), attachment .getMediaType ()));
102
103
}
103
104
messageHelper .setText (email .getContent (), true );
104
105
} catch (Exception e ) {
0 commit comments