Skip to content

Commit 5985800

Browse files
committed
Merge branch '6.1.x'
2 parents 5838bf5 + 412f5f6 commit 5985800

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

spring-context-support/src/main/java/org/springframework/mail/javamail/MimeMessageHelper.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2022 the original author or authors.
2+
* Copyright 2002-2024 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -43,6 +43,7 @@
4343
import org.springframework.core.io.Resource;
4444
import org.springframework.lang.Nullable;
4545
import org.springframework.util.Assert;
46+
import org.springframework.util.MimeTypeUtils;
4647

4748
/**
4849
* Helper class for populating a {@link jakarta.mail.internet.MimeMessage}.
@@ -995,7 +996,8 @@ public void addInline(String contentId, File file) throws MessagingException {
995996
*/
996997
public void addInline(String contentId, Resource resource) throws MessagingException {
997998
Assert.notNull(resource, "Resource must not be null");
998-
String contentType = getFileTypeMap().getContentType(resource.getFilename());
999+
String contentType = (resource.getFilename() != null ?
1000+
getFileTypeMap().getContentType(resource.getFilename()) : MimeTypeUtils.APPLICATION_OCTET_STREAM_VALUE);
9991001
addInline(contentId, resource, contentType);
10001002
}
10011003

spring-context-support/src/test/java/org/springframework/mail/javamail/JavaMailSenderTests.java

+20
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import jakarta.mail.internet.MimeMessage;
4040
import org.junit.jupiter.api.Test;
4141

42+
import org.springframework.core.io.ByteArrayResource;
4243
import org.springframework.mail.MailParseException;
4344
import org.springframework.mail.MailSendException;
4445
import org.springframework.mail.SimpleMailMessage;
@@ -270,6 +271,25 @@ void javaMailSenderWithMimeMessageHelperAndDefaultEncoding() throws Exception {
270271
assertThat(sender.transport.getSentMessages()).containsExactly(message.getMimeMessage());
271272
}
272273

274+
@Test
275+
void javaMailSenderWithMimeMessageHelperAndCustomResource() throws Exception {
276+
sender.setHost("host");
277+
sender.setUsername("username");
278+
sender.setPassword("password");
279+
280+
MimeMessageHelper message = new MimeMessageHelper(sender.createMimeMessage(), true);
281+
message.setTo("[email protected]");
282+
message.addInline("id", new ByteArrayResource(new byte[] {1, 2, 3}));
283+
284+
sender.send(message.getMimeMessage());
285+
286+
assertThat(sender.transport.getConnectedHost()).isEqualTo("host");
287+
assertThat(sender.transport.getConnectedUsername()).isEqualTo("username");
288+
assertThat(sender.transport.getConnectedPassword()).isEqualTo("password");
289+
assertThat(sender.transport.isCloseCalled()).isTrue();
290+
assertThat(sender.transport.getSentMessages()).containsExactly(message.getMimeMessage());
291+
}
292+
273293
@Test
274294
void javaMailSenderWithParseExceptionOnSimpleMessage() {
275295
SimpleMailMessage simpleMessage = new SimpleMailMessage();

0 commit comments

Comments
 (0)