1

Not sure how to troubleshoot this one as our Alfresco server suddenly decided it no longer wants to send mail (or let us do any operation that attempts to send mail, such as approving documents). I did attempt an upgrade from 4.2e to 4.2f (into a completely separate directory), but never even got the new version to start (that'll be a second question I'll be asking...). We also reissued our SSL mail server certificate yet again (original due to heartbleed, then another reissue due to a bad key, then a third reissue due to one of our devices not accepting the larger reissue key). Those are the only 2 even vaguely related things that come to mind. Error log snippet follows:

00:00:00,204 WARN [org.alfresco.repo.activities.feed.FeedNotifier] FeedNotifier: Failed to process entry "Person mailuser". org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mail' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\email\OutboundSMTP\outboundSMTP-context.xml]: Invocation of init method failed; nested exception is org.alfresco.error.AlfrescoRuntimeException: 03290001 email.outbound.err.send.failed at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ApplicationContextState.start(ChildApplicationContextFactory.java:803) at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.start(AbstractPropertyBackedBean.java:991) at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.onApplicationEvent(AbstractPropertyBackedBean.java:530) at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEventInternal(SafeApplicationEventMulticaster.java:209) at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:180) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1653) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.alfresco.error.AlfrescoRuntimeException: 03290001 email.outbound.err.send.failed at org.alfresco.repo.action.executer.MailActionExecuter.sendEmail(MailActionExecuter.java:958) at org.alfresco.repo.action.executer.MailActionExecuter.executeImpl(MailActionExecuter.java:490) at org.alfresco.repo.action.executer.MailActionExecuter$1.doWork(MailActionExecuter.java:424) at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:548) at org.alfresco.repo.action.executer.MailActionExecuter.init(MailActionExecuter.java:414) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) ... 35 more Caused by: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Unexpected exception borrwoing connection from pool; nested exception is: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed. Failed messages: javax.mail.MessagingException: Unexpected exception borrwoing connection from pool; nested exception is: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed; message exceptions (1) are: Failed message 1: javax.mail.MessagingException: Unexpected exception borrwoing connection from pool; nested exception is: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:400) at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340) at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:336) at org.alfresco.repo.action.executer.MailActionExecuter.sendEmail(MailActionExecuter.java:929) ... 46 more Caused by: javax.mail.MessagingException: Unexpected exception borrwoing connection from pool; nested exception is: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed at org.alfresco.repo.mail.AlfrescoJavaMailSender$PooledTransportWrapper.protocolConnect(AlfrescoJavaMailSender.java:214) at javax.mail.Service.connect(Service.java:275) at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:389) ... 49 more Caused by: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1234) at org.alfresco.repo.mail.AlfrescoJavaMailSender$PooledTransportWrapper.protocolConnect(AlfrescoJavaMailSender.java:205) ... 51 more

Oh, final note. I tried posting on the Alfresco forums, but it kept chopping off my error logs and randomly deleting my text. Is there a better resource than here or their forums?

Brian Knoblauch
  • 2,196
  • 2
  • 32
  • 48

2 Answers2

1

The exception seems to be caused by

...
Mail server connection failed;
...

Check your mail server logs

alxgomz
  • 1,630
  • 1
  • 11
  • 14
  • It does not appear to actually be making it that far. Server logs don't show a connection attempt. The other odd things is that if the "testmessage" is enabled, Tomcat shuts down during startup. – Brian Knoblauch May 05 '14 at 14:07
0

We're using a "mail." CNAME to the actual A record of our mail server for SMTP/MSA. For whatever reason Alfresco suddenly decided to not like that. I flipped it to the actual A record and it worked once, then failed again. I then flipped it to the actual IP address and it's working fine this way. Although, it'll break next time we upgrade our mail server...

Brian Knoblauch
  • 2,196
  • 2
  • 32
  • 48
  • There is absolutely no reason why alfresco would not be able to use a DNS record instead of an IP address! Your dns resolution on the Alfresco server might be broken somehow. Did you check hostnames resolved to the expected IP? I suspect , while the name resolved to something, it didn't point to the proper IP, if it was not resolving at all, you would have had an "unknown host" exception. – alxgomz May 06 '14 at 06:53
  • Yes, the hostnames resolve properly on that server from the CLI. Other applications work fine against the mail server DNS names (such as browsers for webmail). Appears to be specific to Alfresco for some as yet unknown reason. – Brian Knoblauch May 06 '14 at 11:30
  • 1
    Since this it broke again. Flipped it back to the CNAME and it works again. I don't get it. – Brian Knoblauch Jul 11 '14 at 18:26