2011-05-03 183 views
0

我正在Tomcat v.6.0.32上運行Alfresco v3.4.0E。除了通過出站SMTP服務器發送電子郵件以外,一切正常。這是堆棧跟蹤的相關部分,我得到:沒有提供給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和activation.jar都包含在類路徑:

[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 
[email protected] 
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 

我已經成功通過telnet從露天服務器發送使用同樣的SMTP服務器的電子郵件。

我錯過了什麼?


UPDATE

原來(感謝,zaphgod!)那都是造成一些配置問題:註釋掉一些性質解決該問題:

# Outbound SMTP -- sending emails from Alfresco to the outside world 
[email protected] 
#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 

現在問題是,爲什麼這種行爲?我敢肯定,我第一次使用的屬性與默認值..

回答

4

我的猜測是,該錯誤是由該行mail.protocol尾隨空格字符= SMTP

在您發佈配置至少引起的堆棧跟蹤的空間是存在的。

+0

謝謝Florian,我現在無法檢查,但我敢打賭,你絕對是對的。一旦我可以仔細檢查,我會盡快通知你。 – skuro 2011-05-04 20:53:28

0

能否郵件或激活罐子被破壞?你得到的錯誤看起來像你沒有其中一個,所以如果你認爲他們在那裏,然後其中一個錯誤/腐敗看起來像下一個最有可能的解釋

嘗試解壓縮它們(罐子是帶有元數據的zip文件),並且還嘗試使用類似md5sum的東西來確保它們是您期望的。

+0

MD5告訴我,我正在使用的jar文件已經爲互聯網所知,但並不特別受歡迎: '[tomcat] $ md5sum webapps/alfresco/WEB-INF/LIB /的mail.jar 0bacd591fbd2ce1a5e0d0062be15ff8e web應用/露天/ WEB-INF/LIB /的mail.jar [Tomcat的] $的md5sum web應用/露天/ WEB-INF/LIB /沒有activation.jar d5dd655f6056a72116f6a0666745a386 web應用/露天/ WEB -INF/lib目錄/ activation.jar' – skuro 2011-05-04 07:52:46

+0

我: 0bacd591fbd2ce1a5e0d0062be15ff8e的mail.jar 3109d42266e2b4d7c94fabcc63346504激活1.1.jar 你檢查,看看是否在你有這些罐子的任何不同的副本別處r tomcat安裝(例如通用或共享)? – Gagravarr 2011-05-04 08:22:18

+0

是的,我檢查了CLASSPATH中每個jar的內容,只是爲了避免誤稱JAR。只有webapp中包含的JAR提供javamail類/提供程序配置。感謝您的支持,順便說一句。 – skuro 2011-05-04 09:14:10