Sending Authenticated Email
This is an analysis of what the work would be needed to enable CSF-based apps to send authenticated email.
...
Code Block |
---|
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="outgoing.mit.edu"/> <property name="port" value="587"/> <property name="username" value="USERNAME"/> <property name="password" value="PASSWORD"/> <property name="javaMailProperties"> <props> <prop key="mail.debug">true<>false</prop> <prop key="mail.smtp.auth">true</prop> <prop key="mail.smtp.starttls.enable">true</prop> </props> </property> </bean> |
These The username, password, port, and possibly host, property values should be externalized to a properties file. We can put these properties in machine.properties - apps should pick this up automatically. Only one copy of this props file per server.
Any app we need that needs to use this feature would need have to upgrade its version of CSF and be retested. Each app would also need to reviewed to make sure ist it uses "machine.properties" in its property configuration.
2.One Login Per Batch of Email Messages
One question - for a bulk email send, should we authenticate to the server for every single email message in the batch:
...
Code Block |
---|
send(MimeMessagePreparator mimeMessagePreparator) |
Summary
This change would mean:
- Modifications to csf-email (detailed above)
- Changes to common property files (i.e. machine.properties) on each server that hosts CSF web apps.
- Build & release of each web app that needs to use this feature.
- Retest of each rebuilt app.