diff --git a/config/alfresco/messages/action-config.properties b/config/alfresco/messages/action-config.properties index b29c6324cd..fb5fbdee33 100644 --- a/config/alfresco/messages/action-config.properties +++ b/config/alfresco/messages/action-config.properties @@ -122,6 +122,7 @@ mail.text.display-label=Body mail.from.display-label=From mail.template.display-label=E-Mail template mail.template_model.display-label=Additional parameters for the email template +mail.ignore_send_failure.display-label=Ignore Send Failures check-in.title=Check in check-in.description=This will check in the matched content. diff --git a/config/alfresco/messages/action-config_de.properties b/config/alfresco/messages/action-config_de.properties index ab51804737..013e4f32c2 100755 --- a/config/alfresco/messages/action-config_de.properties +++ b/config/alfresco/messages/action-config_de.properties @@ -122,6 +122,7 @@ mail.text.display-label=Body mail.from.display-label=Von mail.template.display-label=E-Mail-Mustervorlage mail.template_model.display-label=Zus\u00e4tzliche Parameter f\u00fcr die E-Mail-Mustervorlage +mail.ignore_send_failure.display-label=Ignoriere Fehler check-in.title=Einchecken check-in.description=Damit wird der passende Inhalt eingecheckt. diff --git a/config/alfresco/messages/action-config_es.properties b/config/alfresco/messages/action-config_es.properties index 25b1b0760b..97fc91631d 100755 --- a/config/alfresco/messages/action-config_es.properties +++ b/config/alfresco/messages/action-config_es.properties @@ -122,6 +122,7 @@ mail.text.display-label=Cuerpo mail.from.display-label=Desde mail.template.display-label=Plantilla de email mail.template_model.display-label=Par\u00e1metros adicionales para la plantilla de correo electr\u00f3nico +mail.ignore_send_failure.display-label=Ignorar fallos de env\u00cco check-in.title=Desbloquear check-in.description=Esto desbloquear\u00e1 el elemento coincidente. diff --git a/config/alfresco/messages/action-config_fr.properties b/config/alfresco/messages/action-config_fr.properties index 5d95ddff3b..d5385a330e 100755 --- a/config/alfresco/messages/action-config_fr.properties +++ b/config/alfresco/messages/action-config_fr.properties @@ -122,6 +122,7 @@ mail.text.display-label=Corps mail.from.display-label=De mail.template.display-label=Mod\u00e8le d'e-mail mail.template_model.display-label=Param\u00e8tres suppl\u00e9mentaires pour le mod\u00e8le d'e-mail +mail.ignore_send_failure.display-label=Ignorer les \u00c8chec lors de l\u00edenvoi check-in.title=Lib\u00e9rer check-in.description=Cette action enregistre l'\u00e9l\u00e9ment. diff --git a/config/alfresco/messages/action-config_it.properties b/config/alfresco/messages/action-config_it.properties index d49f49e776..6880120575 100755 --- a/config/alfresco/messages/action-config_it.properties +++ b/config/alfresco/messages/action-config_it.properties @@ -122,6 +122,7 @@ mail.text.display-label=Corpo mail.from.display-label=Da mail.template.display-label=Modello di e-mail mail.template_model.display-label=Parametri aggiuntivi per il modello di e-mail +mail.ignore_send_failure.display-label=Ignorare le spedizioni fallite check-in.title=Check In check-in.description=Esegue il Check In del contenuto corrispondente. diff --git a/config/alfresco/messages/action-config_ja.properties b/config/alfresco/messages/action-config_ja.properties index f4075e3b47..78cfa3d49e 100755 --- a/config/alfresco/messages/action-config_ja.properties +++ b/config/alfresco/messages/action-config_ja.properties @@ -122,6 +122,7 @@ mail.text.display-label=\u672c\u6587 mail.from.display-label=\u958b\u59cb\u65e5 mail.template.display-label=E\u30e1\u30fc\u30eb\u30fb\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 mail.template_model.display-label=E\u30e1\u30fc\u30eb\u30fb\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u8ffd\u52a0\u306e\u30d1\u30e9\u30e1\u30fc\u30bf +mail.ignore_send_failure.display-label=\u9001\u4fe1\u5931\u6557\u3092\u7121\u8996\u3059\u308b check-in.title=\u30c1\u30a7\u30c3\u30af\u30a4\u30f3 check-in.description=\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30c3\u30c1\u3057\u305f\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u30c1\u30a7\u30c3\u30af\u30a4\u30f3\u3055\u308c\u307e\u3059\u3002 diff --git a/source/java/org/alfresco/repo/action/executer/MailActionExecuter.java b/source/java/org/alfresco/repo/action/executer/MailActionExecuter.java index eb1c1b4460..b5e1925b2b 100644 --- a/source/java/org/alfresco/repo/action/executer/MailActionExecuter.java +++ b/source/java/org/alfresco/repo/action/executer/MailActionExecuter.java @@ -80,6 +80,7 @@ public class MailActionExecuter extends ActionExecuterAbstractBase public static final String PARAM_FROM = "from"; public static final String PARAM_TEMPLATE = "template"; public static final String PARAM_TEMPLATE_MODEL = "template_model"; + public static final String PARAM_IGNORE_SEND_FAILURE = "ignore_send_failure"; /** * From address @@ -533,9 +534,15 @@ public class MailActionExecuter extends ActionExecuterAbstractBase } } + // always log the failure logger.error("Failed to send email to " + to, e); - throw new AlfrescoRuntimeException("Failed to send email to:" + to, e); + // optionally ignore the throwing of the exception + Boolean ignoreError = (Boolean)ruleAction.getParameterValue(PARAM_IGNORE_SEND_FAILURE); + if (ignoreError == null || ignoreError.booleanValue() == false) + { + throw new AlfrescoRuntimeException("Failed to send email to:" + to, e); + } } } @@ -630,6 +637,7 @@ public class MailActionExecuter extends ActionExecuterAbstractBase paramList.add(new ParameterDefinitionImpl(PARAM_FROM, DataTypeDefinition.TEXT, false, getParamDisplayLabel(PARAM_FROM))); paramList.add(new ParameterDefinitionImpl(PARAM_TEMPLATE, DataTypeDefinition.NODE_REF, false, getParamDisplayLabel(PARAM_TEMPLATE), false, "ac-email-templates")); paramList.add(new ParameterDefinitionImpl(PARAM_TEMPLATE_MODEL, DataTypeDefinition.ANY, false, getParamDisplayLabel(PARAM_TEMPLATE_MODEL), true)); + paramList.add(new ParameterDefinitionImpl(PARAM_IGNORE_SEND_FAILURE, DataTypeDefinition.BOOLEAN, false, getParamDisplayLabel(PARAM_IGNORE_SEND_FAILURE))); } public void setTestMode(boolean testMode) diff --git a/source/java/org/alfresco/repo/invitation/site/InviteSender.java b/source/java/org/alfresco/repo/invitation/site/InviteSender.java index b0e455d70b..74d9cdbdc0 100644 --- a/source/java/org/alfresco/repo/invitation/site/InviteSender.java +++ b/source/java/org/alfresco/repo/invitation/site/InviteSender.java @@ -133,6 +133,7 @@ public class InviteSender mail.setParameterValue(MailActionExecuter.PARAM_TEMPLATE, getEmailTemplateNodeRef()); mail.setParameterValue(MailActionExecuter.PARAM_TEMPLATE_MODEL, (Serializable)buildMailTextModel(properties, inviter, invitee)); + mail.setParameterValue(MailActionExecuter.PARAM_IGNORE_SEND_FAILURE, true); actionService.executeAction(mail, getWorkflowPackage(properties)); }