
h1. Email Reminder Plugin Configuration



h1. Overview

eXo Calendar can send event reminders by email. You will probably need to adjust this configuration to your own need. The feature is based on a periodic poll of the stored reminders.

h1. Setting

File to edit: {{cs-plugins-configuration.xml}}:

{code:xml}
<external-component-plugins>
    <target-component>org.exoplatform.services.scheduler.JobSchedulerService</target-component>
    <component-plugin>
      <name>RemindersJob</name>
      <set-method>addPeriodJob</set-method>
      <type>org.exoplatform.calendar.service.ReminderPeriodJob</type>
      <description>add a job to the JobSchedulerService</description>
      <init-params>
        <properties-param>
          <name>job.info</name>
          <description>save the monitor data  periodically</description>
          <property name="jobName" value="ReminderJob"/>
          <property name="groupName" value="CollaborationSuite"/>
          <property name="job" value="org.exoplatform.calendar.service.ReminderJob"/>
          <property name="repeatCount" value="0"/>
          <property name="period" value="180000"/>
          <property name="startTime" value="+0"/>
          <property name="endTime" value=""/>
        </properties-param>
        <properties-param>
          <name>reminder.info</name>
          <description>save the monitor data  periodically</description>
          <property name="timeZone" value="This is TimeZone"/>
          <property name="account" value="reminders@mycompany.com"/>
          <property name="password" value="secret"/>
          <property name="ssl" value="true"/>
          <property name="outgoing" value="smtp.mycompany.com"/>
          <property name="port" value="465"/>
       </properties-param>
    </init-params>
  </component-plugin>
</external-component-plugins>
{code}

The interesting settings are :
|| property || description || values ||
| account | the SMTP account that the reminder service will use to send emails | smtp username |
| password |the corresponding account password | smtp password |
| SSL | the option to use Secure Socket Layer for SMTP or not | true/false |
| Outgoing | SMTP Server hostname  | hostname(ex: smtp.mycompany.com) or ip address |
| Port |SMTP Server's port. | TCP port for the SMTP service |
| Timezone |default time zone of mail | TZdata  |

h1. Advanced configuration

Advanced users may have noticed that the feature relies on eXo Job Scheduler.
The following information may help you to replace fully the reminder feature by your own :

Below are some explanations about property parameters:

* target-component : {{org.exoplatform.services.scheduler.JobSchedulerService}}: keep this value. The feature is based on eXo job scheduler service.
* Name: RemindersJob: name of a schedule job. Keep this value.
* set-method: addPeriodJob:  plugin registering method. Keep this value
* type: {{org.exoplatform.calendar.service.ReminderPeriodJob}}: the actual reminder job plugin class name. Keep this value

The following properties define the poll job :
* job.info: key of property. Keep this value.
* jobName: the name of job.
* groupName: the job group's name.
* job: Actual job class name. Keep {{org.exoplatform.calendar.service.ReminderJob}}
* repeatCount: how many times to run this job. ( use '0' which means 'run forever')
* period: the time interval (millisecond) between job executions.
