/** * This implementation creates a SmartMimeMessage, holding the specified * default encoding and default FileTypeMap. This special defaults-carrying * message will be autodetected by {@link MimeMessageHelper}, which will use * the carried encoding and FileTypeMap unless explicitly overridden. * @see #setDefaultEncoding * @see #setDefaultFileTypeMap */ @Override public MimeMessage createMimeMessage() { return new SmartMimeMessage(getSession(), getDefaultEncoding(), getDefaultFileTypeMap()); }
/** * Set the given text directly as content in non-multipart mode * or as default body part in multipart mode. * Always applies the default content type "text/plain". * <p><b>NOTE:</b> Invoke {@link #addInline} <i>after</i> {@code setText}; * else, mail readers might not be able to resolve inline references correctly. * @param text the text for the message * @throws MessagingException in case of errors */ public void setText(String text) throws MessagingException { setText(text, false); }
/** * Validate all given mail addresses. * Default implementation simply delegates to validateAddress for each address. * @param addresses the addresses to validate * @throws AddressException if validation failed * @see #validateAddress(InternetAddress) */ protected void validateAddresses(InternetAddress[] addresses) throws AddressException { for (InternetAddress address : addresses) { validateAddress(address); } }
/** * Create a new MimeMailMessage based on the given JavaMail MimeMessage. * @param mimeMessage the JavaMail MimeMessage */ public MimeMailMessage(MimeMessage mimeMessage) { this.helper = new MimeMessageHelper(mimeMessage); }
@Override public void setSubject(String subject) throws MailParseException { try { this.helper.setSubject(subject); } catch (MessagingException ex) { throw new MailParseException(ex); } }
@Override public void setTo(String... to) throws MailParseException { try { this.helper.setTo(to); } catch (MessagingException ex) { throw new MailParseException(ex); } }
@Override public void send(MimeMessagePreparator mimeMessagePreparator) throws MailException { send(new MimeMessagePreparator[] {mimeMessagePreparator}); }
public void setCc(String[] cc) throws MessagingException { Assert.notNull(cc, "Cc address array must not be null"); InternetAddress[] addresses = new InternetAddress[cc.length]; for (int i = 0; i < cc.length; i++) { addresses[i] = parseAddress(cc[i]); } setCc(addresses); }
/** * Return the JavaMail MimeMessage that this MimeMailMessage is based on. */ public final MimeMessage getMimeMessage() { return this.helper.getMimeMessage(); }
/** * Determine the default Java Activation FileTypeMap for the given MimeMessage. * @param mimeMessage the passed-in MimeMessage * @return the default FileTypeMap associated with the MimeMessage, * or a default ConfigurableMimeFileTypeMap if none found for the message * @see ConfigurableMimeFileTypeMap */ protected FileTypeMap getDefaultFileTypeMap(MimeMessage mimeMessage) { if (mimeMessage instanceof SmartMimeMessage) { FileTypeMap fileTypeMap = ((SmartMimeMessage) mimeMessage).getDefaultFileTypeMap(); if (fileTypeMap != null) { return fileTypeMap; } } ConfigurableMimeFileTypeMap fileTypeMap = new ConfigurableMimeFileTypeMap(); fileTypeMap.afterPropertiesSet(); return fileTypeMap; }
/** * Create a new instance of the {@code JavaMailSenderImpl} class. * <p>Initializes the {@link #setDefaultFileTypeMap "defaultFileTypeMap"} * property with a default {@link ConfigurableMimeFileTypeMap}. */ public JavaMailSenderImpl() { ConfigurableMimeFileTypeMap fileTypeMap = new ConfigurableMimeFileTypeMap(); fileTypeMap.afterPropertiesSet(); this.defaultFileTypeMap = fileTypeMap; }
@Override public void setSentDate(Date sentDate) throws MailParseException { try { this.helper.setSentDate(sentDate); } catch (MessagingException ex) { throw new MailParseException(ex); } }
@Override public void send(MimeMessage... mimeMessages) throws MailException { doSend(mimeMessages, null); }
private void setHtmlTextToMimePart(MimePart mimePart, String text) throws MessagingException { if (getEncoding() != null) { mimePart.setContent(text, CONTENT_TYPE_HTML + CONTENT_TYPE_CHARSET_SUFFIX + getEncoding()); } else { mimePart.setContent(text, CONTENT_TYPE_HTML); } }
/** * Creates the final merged mapping set. */ @Override public void afterPropertiesSet() { getFileTypeMap(); }
@Override protected Transport getTransport(Session session) throws NoSuchProviderException { this.transport = new MockTransport(session, null); return transport; } }
@Override public void connect(String host, int port, String username, String password) throws MessagingException { if (host == null) { throw new MessagingException("no host"); } this.connectedHost = host; this.connectedPort = port; this.connectedUsername = username; this.connectedPassword = password; setConnected(true); }
@Override public void send(SimpleMailMessage simpleMessage) throws MailException { send(new SimpleMailMessage[] {simpleMessage}); }
/** * Delegates to the underlying FileTypeMap. * @see #getFileTypeMap() */ @Override public String getContentType(File file) { return getFileTypeMap().getContentType(file); }
@Override public void send(MimeMessage mimeMessage) throws MailException { send(new MimeMessage[] {mimeMessage}); }