Нет провайдера для smtp - PullRequest
0 голосов
/ 03 мая 2011

Я использую 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

Теперь вопрос, почему это поведение? Я уверен, что свойства, которые я использовал вначале, имеют значения по умолчанию ..

Ответы [ 3 ]

4 голосов
/ 04 мая 2011

Я предполагаю, что ошибка была вызвана символом пробела в строке mail.protocol = smtp

По крайней мере в вашем опубликованном конфиге и трассировке стека присутствует пробел.

0 голосов
/ 04 мая 2011

Может ли почтовый ящик или банка активации быть повреждены? Полученная ошибка выглядит так, как будто у вас нет одного из двух, поэтому, если вы думаете, что они есть, то одно из них является неправильным / поврежденным, выглядит как следующее наиболее вероятное объяснение

Попробуйте разархивировать их (файлы jar - это zip-файлы с метаданными), а также попробуйте использовать что-то вроде md5sum, чтобы убедиться, что вы ожидаете их.

0 голосов
/ 03 мая 2011

Надеюсь, вы сделали следующее: Настройка исходящей электронной почты

...