Я использую Alfresco v3.4.0E на Tomcat v.6.0.32. Все работает отлично, за исключением отправки электронной почты через исходящий SMTP-сервер. Это соответствующая часть трассировки стека, которую я получаю:
Caused by: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.NoSuchProviderException: No provider for smtp
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:418)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:341)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:356)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:345)
at org.alfresco.repo.action.executer.MailActionExecuter.executeImpl(MailActionExecuter.java:439)
... 144 more
Caused by: javax.mail.NoSuchProviderException: No provider for smtp
at javax.mail.Session.getProvider(Session.java:455)
at javax.mail.Session.getTransport(Session.java:650)
at javax.mail.Session.getTransport(Session.java:631)
at org.springframework.mail.javamail.JavaMailSenderImpl.getTransport(JavaMailSenderImpl.java:433)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:387)
... 148 more
Я уже убедился, что и mail.jar, и activ.jar включены в classpath:
[root tomcat]$ ll webapps/alfresco/WEB-INF/lib/ | grep mail.jar
-rw-rw-r-- 1 alfresco alfresco 356519 Jan 17 20:38 mail.jar
[root tomcat]$ ll webapps/alfresco/WEB-INF/lib/ | grep activation.jar
-rw-rw-r-- 1 alfresco alfresco 55932 Jan 17 20:38 activation.jar
Вот выдержка из моего alfresco-global.properties:
# Outbound SMTP -- sending emails from Alfresco to the outside world
mail.from.default=noreply@domain.local
mail.port=25
mail.protocol=smtp
mail.encoding=UTF-8
mail.header=
mail.smtp.auth=false
mail.smtp.timeout=30000
mail.host=smtp.domain.local
Мне уже удалось отправить электронное письмо с того же SMTP-сервера через telnet
с сервера Alfresco.
Чего мне не хватает?
UPDATE
Оказалось (спасибо, zaphgod !), Что все это было вызвано некоторыми проблемами конфигурации: комментирование некоторых свойств решило проблему:
# Outbound SMTP -- sending emails from Alfresco to the outside world
mail.from.default=noreply@domain.local
#mail.port=25
#mail.protocol=smtp
mail.encoding=UTF-8
#mail.header=
#mail.smtp.auth=false
#mail.smtp.timeout=30000
mail.host=smtp.domain.local
Теперь вопрос, почему это поведение? Я уверен, что свойства, которые я использовал вначале, имеют значения по умолчанию ..