Classes modeling a mail system. The `javax.mail` package defines classes that are common to all mail systems. The JavaMailTM API includes the `javax.mail` package and subpackages. The JavaMail API supports the following standard properties, which may be set in the `Session` object, or in the `Properties` object used to create the `Session` object. The properties are always set as strings; the Type column describes how the string is interpreted. For example, use

    	props.put("mail.debug", "true");

to set the `mail.debug` property, which is of type boolean.

Name | Type | Description
--- | --- | ---
mail.debug | boolean | The initial debug mode. Default is false.
mail.from | String | The return email address of the current user, used by the `InternetAddress` method `getLocalAddress`.
mail.mime.address.strict | boolean | The MimeMessage class uses the `InternetAddress` method `parseHeader` to parse headers in messages. This property controls the strict flag passed to the `parseHeader` method. The default is true.
mail.host | String | The default host name of the mail server for both Stores and Transports. Used if the `mail.protocol.host` property isn't set.
mail.store.protocol | String | Specifies the default message access protocol. The `Session` method `getStore()` returns a Store object that implements this protocol. By default the first Store provider in the configuration files is returned.
mail.transport.protocol | String | Specifies the default message access protocol. The `Session` method `getTransport()` returns a Transport object that implements this protocol. By default the first Transport provider in the configuration files is returned.
mail.user | String | The default user name to use when connecting to the mail server. Used if the `mail.protocol.user` property isn't set.
mail.protocol.class | String | Specifies the fully qualified class name of the provider for the specified protocol. Used in cases where more than one provider for a given protocol exists; this property can be used to specify which provider to use by default. The provider must still be listed in a configuration file.
mail.protocol.host | String | The host name of the mail server for the specified protocol. Overrides the `mail.host` property.
mail.protocol.port | int | The port number of the mail server for the specified protocol. If not specified the protocol's default port number is used.
mail.protocol.user | String | The user name to use when connecting to mail servers using the specified protocol. Overrides the `mail.user` property.

The JavaMail API also supports several System properties; see the {@link javax.mail.internet} package documentation for details.