Package org.apache.naming.factory

## Class MailSessionFactory

- java.lang.Object
- - org.apache.naming.factory.MailSessionFactory

- All Implemented Interfaces:
    `ObjectFactory`

      public class MailSessionFactory
      extends Object
      implements ObjectFactory

  Factory class that creates a JNDI named JavaMail Session factory, which can be used for managing inbound and outbound electronic mail messages via JavaMail APIs. All messaging environment properties described in the JavaMail Specification may be passed to the Session factory; however the following properties are the most commonly used:

  - mail.smtp.host - Hostname for outbound transport connections. Defaults to `localhost` if not specified.

  This factory can be configured in a `<Context>` element in your `conf/server.xml` configuration file. An example of factory configuration is:

       <Resource name="mail/smtp" auth="CONTAINER"
                 type="jakarta.mail.Session"/>
       <ResourceParams name="mail/smtp">
         <parameter>
           <name>factory</name>
           <value>org.apache.naming.factory.MailSessionFactory</value>
         </parameter>
         <parameter>
           <name>mail.smtp.host</name>
           <value>mail.mycompany.com</value>
         </parameter>
       </ResourceParams>

  Author:
    Craig R. McClanahan

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected static String` | `factoryType` | The Java type for which this factory knows how to create objects.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MailSessionFactory()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `getObjectInstance​(Object refObj, Name name, Context context, Hashtable<?,​?> env)` | Create and return an object instance based on the specified characteristics.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### factoryType

          protected static final String factoryType

      The Java type for which this factory knows how to create objects.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MailSessionFactory

          public MailSessionFactory()

  - ### Method Detail

    - #### getObjectInstance

          public Object getObjectInstance​(Object refObj,
                                          Name name,
                                          Context context,
                                          Hashtable<?,​?> env)
                                   throws Exception

      Create and return an object instance based on the specified characteristics.
      Specified by:
        `getObjectInstance` in interface `ObjectFactory`
      Parameters:
        `refObj` - Reference information containing our parameters, or null if there are no parameters
        `name` - The name of this object, relative to context, or null if there is no name
        `context` - The context to which name is relative, or null if name is relative to the default initial context
        `env` - Environment variables, or null if there are none
      Throws:
        `Exception` - if an error occurs during object creation