16
16
17
17
package org .springframework .mail .javamail ;
18
18
19
- import java .io .IOException ;
20
19
import java .io .InputStream ;
21
20
import java .util .ArrayList ;
22
21
import java .util .Date ;
@@ -294,11 +293,11 @@ public FileTypeMap getDefaultFileTypeMap() {
294
293
295
294
@ Override
296
295
public void send (SimpleMailMessage simpleMessage ) throws MailException {
297
- send (new SimpleMailMessage [] { simpleMessage });
296
+ send (new SimpleMailMessage [] {simpleMessage });
298
297
}
299
298
300
299
@ Override
301
- public void send (SimpleMailMessage [] simpleMessages ) throws MailException {
300
+ public void send (SimpleMailMessage ... simpleMessages ) throws MailException {
302
301
List <MimeMessage > mimeMessages = new ArrayList <MimeMessage >(simpleMessages .length );
303
302
for (SimpleMailMessage simpleMessage : simpleMessages ) {
304
303
MimeMailMessage message = new MimeMailMessage (createMimeMessage ());
@@ -342,17 +341,17 @@ public void send(MimeMessage mimeMessage) throws MailException {
342
341
}
343
342
344
343
@ Override
345
- public void send (MimeMessage [] mimeMessages ) throws MailException {
344
+ public void send (MimeMessage ... mimeMessages ) throws MailException {
346
345
doSend (mimeMessages , null );
347
346
}
348
347
349
348
@ Override
350
349
public void send (MimeMessagePreparator mimeMessagePreparator ) throws MailException {
351
- send (new MimeMessagePreparator [] { mimeMessagePreparator });
350
+ send (new MimeMessagePreparator [] {mimeMessagePreparator });
352
351
}
353
352
354
353
@ Override
355
- public void send (MimeMessagePreparator [] mimeMessagePreparators ) throws MailException {
354
+ public void send (MimeMessagePreparator ... mimeMessagePreparators ) throws MailException {
356
355
try {
357
356
List <MimeMessage > mimeMessages = new ArrayList <MimeMessage >(mimeMessagePreparators .length );
358
357
for (MimeMessagePreparator preparator : mimeMessagePreparators ) {
@@ -368,9 +367,6 @@ public void send(MimeMessagePreparator[] mimeMessagePreparators) throws MailExce
368
367
catch (MessagingException ex ) {
369
368
throw new MailParseException (ex );
370
369
}
371
- catch (IOException ex ) {
372
- throw new MailPreparationException (ex );
373
- }
374
370
catch (Exception ex ) {
375
371
throw new MailPreparationException (ex );
376
372
}
@@ -389,12 +385,20 @@ public void send(MimeMessagePreparator[] mimeMessagePreparators) throws MailExce
389
385
* in case of failure when sending a message
390
386
*/
391
387
protected void doSend (MimeMessage [] mimeMessages , Object [] originalMessages ) throws MailException {
392
- Map <Object , Exception > failedMessages = new LinkedHashMap <Object , Exception >();
388
+ String username = getUsername ();
389
+ String password = getPassword ();
390
+ if ("" .equals (username )) { // probably from a placeholder
391
+ username = null ;
392
+ if ("" .equals (password )) { // in conjunction with "" username, this means no password to use
393
+ password = null ;
394
+ }
395
+ }
393
396
397
+ Map <Object , Exception > failedMessages = new LinkedHashMap <Object , Exception >();
394
398
Transport transport ;
395
399
try {
396
400
transport = getTransport (getSession ());
397
- transport .connect (getHost (), getPort (), getUsername (), getPassword () );
401
+ transport .connect (getHost (), getPort (), username , password );
398
402
}
399
403
catch (AuthenticationFailedException ex ) {
400
404
throw new MailAuthenticationException (ex );
0 commit comments