提交 816a2b56 编写于 作者: M meyerd

Made "fromEmailAddress" configurable

上级 fb31cb52
......@@ -22,15 +22,10 @@ public abstract class AbstractProcessSolutionStateEmailListener<T extends Proces
protected Logger logger = Logger.getLogger(getClass().getName());
/**
* TODO: Make configurable (it is important to have a valid address here, otherwise the sending fails with a 550 error)
* Use configuration property from activiti cfg.xml (mailServerDefaultFrom)
*/
public static String fromEmailAddress = "activiti@camunda.com";
protected CycleEmailDispatcher cycleEmailDispatcher = CycleComponentFactory.getCycleComponentInstance(CycleEmailDispatcher.class, CycleEmailDispatcher.class);
public void onEvent(T event) {
String fromEmailAddress = CycleComponentFactory.getCycleComponentInstance(CycleNotificationEmailAddresses.class).getFromEmailAddress();
try {
for (User user : getRecipients(event.getProcessSolution())) {
cycleEmailDispatcher.sendEmail(fromEmailAddress, user.getEmail(), getSubject(event), getMessage(event));
......
package org.activiti.cycle.impl.processsolution.listener;
import org.activiti.cycle.annotations.CycleComponent;
import org.activiti.cycle.context.CycleContextType;
import org.activiti.cycle.service.CycleServiceFactory;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.impl.ProcessEngineImpl;
/**
* Holds the email addresses for sending notifications
*
* @author daniel.meyer@camunda.com
*/
@CycleComponent(context = CycleContextType.NONE)
public class CycleNotificationEmailAddresses {
private String fromEmailAddress;
public String getFromEmailAddress() {
if (fromEmailAddress == null) {
fromEmailAddress = CycleServiceFactory.getConfigurationService().getConfigurationValue("NotificationEmailAddresses", "defaultFromEmailAddress");
}
if(fromEmailAddress == null) {
fromEmailAddress = ((ProcessEngineImpl) ProcessEngines.getDefaultProcessEngine()).getProcessEngineConfiguration().getMailServerDefaultFrom();
}
if(fromEmailAddress == null
|| fromEmailAddress.equals("activiti@localhost") // activiti@localhost does not work for most mailservers
) {
fromEmailAddress = "activiti@camunda.com";
}
return fromEmailAddress;
}
}
......@@ -131,9 +131,13 @@ public class ImplementationDoneUpdateOperationalProcessModels implements CycleEv
writer.append("</li>");
}
writer.append("</ul>");
cycleEmailDispatcher.sendEmail(AbstractProcessSolutionStateEmailListener.fromEmailAddress, user.getEmail(), "Operational models updated", writer.toString());
cycleEmailDispatcher.sendEmail(getFromEmailAddress(), user.getEmail(), "Operational models updated", writer.toString());
}
}
protected String getFromEmailAddress() {
return CycleComponentFactory.getCycleComponentInstance(CycleNotificationEmailAddresses.class).getFromEmailAddress();
}
protected ProcessSolutionUtils getProcessSolutionUtils() {
return CycleComponentFactory.getCycleComponentInstance(ProcessSolutionUtils.class);
......
......@@ -172,7 +172,7 @@ public class SpecificationDoneGenerateProjectListener implements CycleCompensati
writer.append("</li>");
}
writer.append("</ul>");
cycleEmailDispatcher.sendEmail(AbstractProcessSolutionStateEmailListener.fromEmailAddress, user.getEmail(), "Technical Model created", writer.toString());
cycleEmailDispatcher.sendEmail(getFromEmailAddress(), user.getEmail(), "Technical Model created", writer.toString());
}
}
......@@ -192,9 +192,13 @@ public class SpecificationDoneGenerateProjectListener implements CycleCompensati
writer.append("</li>");
}
writer.append("</ul>");
cycleEmailDispatcher.sendEmail(AbstractProcessSolutionStateEmailListener.fromEmailAddress, user.getEmail(), "Technical Models updated/created", writer.toString());
cycleEmailDispatcher.sendEmail(getFromEmailAddress(), user.getEmail(), "Technical Models updated/created", writer.toString());
}
}
protected String getFromEmailAddress() {
return CycleComponentFactory.getCycleComponentInstance(CycleNotificationEmailAddresses.class).getFromEmailAddress();
}
public void compensateEvent(SpecificationDoneEvent event) {
// TODO: delete technical implementation project in first iteration
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册