Module bus.extra

Class InternalMail

java.lang.Object
org.miaixz.bus.extra.mail.InternalMail

public class InternalMail extends Object
An internal utility class for mail-related operations, such as parsing addresses and encoding text. This class is not intended for public use and provides helper methods for the mail API.
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    encodeText(String text, Charset charset)
    Encodes a string with non-ASCII characters for use in email headers, using MIME encoding.
    static jakarta.mail.internet.InternetAddress[]
    parseAddress(String address, Charset charset)
    Parses a single address string, which may contain multiple addresses separated by spaces, commas, or semicolons, into an array of InternetAddress objects.
    static jakarta.mail.internet.InternetAddress[]
    parseAddressFromStrs(String[] addrStrs, Charset charset)
    Parses an array of email address strings into an array of InternetAddress objects.
    static jakarta.mail.internet.InternetAddress
    parseFirstAddress(String address, Charset charset)
    Parses an address string and returns the first valid InternetAddress found.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • InternalMail

      public InternalMail()
  • Method Details

    • parseAddressFromStrs

      public static jakarta.mail.internet.InternetAddress[] parseAddressFromStrs(String[] addrStrs, Charset charset)
      Parses an array of email address strings into an array of InternetAddress objects. Each string in the input array can contain multiple addresses separated by standard delimiters.
      Parameters:
      addrStrs - An array of email address strings.
      charset - The character set to use for encoding personal names (e.g., for non-ASCII characters).
      Returns:
      An array of InternetAddress objects.
    • parseFirstAddress

      public static jakarta.mail.internet.InternetAddress parseFirstAddress(String address, Charset charset)
      Parses an address string and returns the first valid InternetAddress found.
      Parameters:
      address - The address string to parse.
      charset - The character set to use for encoding the personal name. If null, the system default is used.
      Returns:
      The first parsed InternetAddress.
      Throws:
      org.miaixz.bus.core.lang.exception.InternalException - if parsing fails.
    • parseAddress

      public static jakarta.mail.internet.InternetAddress[] parseAddress(String address, Charset charset)
      Parses a single address string, which may contain multiple addresses separated by spaces, commas, or semicolons, into an array of InternetAddress objects.
      Parameters:
      address - The address string to parse.
      charset - The character set to use for encoding personal names. If null, the system default is used.
      Returns:
      An array of InternetAddress objects.
      Throws:
      org.miaixz.bus.core.lang.exception.InternalException - if parsing fails.
    • encodeText

      public static String encodeText(String text, Charset charset)
      Encodes a string with non-ASCII characters for use in email headers, using MIME encoding. If encoding fails, the original string is returned.
      Parameters:
      text - The text to be encoded.
      charset - The character set to use for encoding.
      Returns:
      The encoded string.