Documentation for Crowd 2.0.x. Documentation for other versions of Crowd is available too.
Once you have configured your mail server as described below, Crowd can send email notifications to users at specific events, such as when a user's password is reset or a server event occurs.
To customise the password notification message, please see Creating an Email Notification Template.
On this page:
To configure SMTP email,
Enter the details as follows:
Select the 'JNDI Location' if you want to connect to a mail server via a datasource managed by your application server.
Enter the details as follows:
javax.mail.Session
object which has been set up by your application server.For example, in Tomcat 5.5 (the default application server that is bundled with Crowd Standalone), your JNDI location would be java:comp/env/mail/CrowdMailServer
, and you would add the following section in conf/server.xml
or conf/Catalina/localhost/crowd.xml
, inside the <Context>
node:
<Context path="/crowd" docBase="${CATALINA_HOME}/crowd-webapp" reloadable="false"> <Resource name="mail/CrowdMailServer" auth="Container" type="javax.mail.Session" mail.smtp.host="yourmailserver.example.com" mail.smtp.port="25" mail.transport.protocol="smtp" mail.smtp.auth="true" mail.smtp.user="your_userid" password="your_password" /> </Context>
If you have problems connecting, add a mail.debug="true" parameter, which will let you see SMTP-level details when testing the connection.
You will also need to ensure that the JavaMail classes and Java Beans Activation Framework are present in your application server's classpath.
If JavaMail is not present in your application server installation, you will receive the following error in your log file:
java.lang.NoClassDefFoundError: javax/mail/Authenticator
If the Activation Framework is not present in your application server installation, you will receive the following error in your log file:
java.lang.NoClassDefFoundError: javax/activation/DataSource
You can encrypt email communications between Crowd and your mail server via SSL, provided your mail server supports SSL.
To do this, edit your mail server connection properties and specify starttls
and SSLSocketFactory
, e.g.:
<Context path="/crowd" docBase="${CATALINA_HOME}/crowd-webapp" reloadable="false"> <Resource name="mail/CrowdMailServer" auth="Container" type="javax.mail.Session" mail.smtp.host="yourmailserver.example.com" mail.smtp.port="465" mail.transport.protocol="smtp" mail.smtp.auth="true" mail.smtp.user="your_userid" password="your_password" mail.smtp.starttls.enable="true" mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory" /> </Context>
Additionally, as you are connecting to an SSL service, you will need to import the SMTP server certificate into a Java keystore. The process is described in Configuring Crowd to Work with SSL.