cancel
Showing results for 
Search instead for 
Did you mean: 

configurare email verso alfresco

qmiki
Champ in-the-making
Champ in-the-making
premetto che uso alfresco community 5.0.c su una macchina con Suse 13.1, con IP fisso e nome [miamacchina].[miodominio].it

vorrei riuscire a configurare alfresco per ricevere email, ho piu' o meno seguito questa guida: http://alfrescocms.blogspot.it/2014/04/configure-alfresco-inbound-email-in.html, ho definito un alias [xxx] per una cartella e inserito un utente, con indirizzo email [utente]@yahoo.it, nel gruppo EMAIL_CONTRIBUTORS

in alfresco-global.properties ho messo queste configurazioni:


# Outbound Email Configuration
#————-
mail.smtp.timeout=60000
mail.host=[server_smtp].[miodominio].it
mail.port=25
mail.username=[user]
mail.password=
mail.encoding=UTF-8
mail.from.default=alfresco@alfresco.org
mail.smtp.auth=false

### Inbound setting ###
email.inbound.unknownUser=anonymous
email.inbound.enabled=true
email.server.enabled=true
email.server.port=25
email.server.domain=[miodominio].it
email.server.allowed.senders=.*

# Inbound Email Configuration
#—————————————————
imap.server.enabled=true
imap.server.port=143
imap.server.host=[miamacchina].[miodominio].it



ho provato a inviare un email localmente seguendo queste istruzioni:

http://alfrescoblog.com/2014/08/07/alfresco-inbound-tutorial-and-telnet-instructions/


da [utente]@yahoo.it a [xxx]@[miamacchina].[miodominio].it ed effettivamente vedo comparire il mail nel folder [xxx] di alfresco

ma se invece provo a inviare il mail dall'esterno non funziona. Non capisco se e'  un problema di configurazione di alfresco o della mia macchina o di qualcos'altro nel dominio …

sulla mia macchina non c'era un server imap, devo per caso installarlo o e' gia' incluso in alfresco?

sulla rete ci sono altre macchine che fanno da server imap e ho provato a far registrare un indirizzo email [xxx]@[miodominio].it in modo che venisse smistato a [miamacchina].[miodominio].it ma anche cosi' non funziona

penso che mi manchi qualcosa proprio di base ….
8 REPLIES 8

davidciamberlan
Elite Collaborator
Elite Collaborator

Ciao,

non è necessario avere un server imap esterno.

Visto che la ricezione delle email da localhost avviene correttamente, posso supporre che il server imap di Alfresco funzioni correttamente.

Visto che sei su Linux, prova a non usare la porta 143 ma, ad esempio, 1143 (le porte sotto la 1024 richiedono i privilegi di root per essere usate).

Controlla in ogni caso che la porta che usi non sia bloccata da un firewall.

Controlla anche che nei log di Alfresco non vengano riportati errori riconducibili al sottosistema imap.

Tienici al corrente!

erano proprio bloccate le porte, le ho aperte nel firewall e ora funziona !
vedo apparire le email nel folder, anche se il fatto che le divida in due (corpo del mail e allegato) non e' proprio il massimo ma immagino non ci sia modo di avere solo l'allegato con il testo della email nei commenti …

invece non mi e' chiaro come "inviare" un mail a un nodo che non sia un folder ma un forum (come dice qui: http://docs.alfresco.com/community/concepts/email-target-node.html), perche' non capisco in questo caso come trovare il noderef o come dargli un alias …

peccato inoltre che non mi faccia vedere il preview del testo della email, ho provato a installare questo addon:
http://www.form4.de/softwareentwicklung/alfresco/htmlwebpreviewer-en/
ma non mi funziona e nel log di alfresco e' comparso questo errore:

09:50:59,624 ERROR [org.springframework.web.context.ContextLoader] [localhost-startStop-1] Context initialization failed
org.alfresco.error.AlfrescoRuntimeException: 04010160 Unable to start the VtiServer, as the port 7070 is already in use
   at org.alfresco.module.vti.VtiServer.onBootstrap(VtiServer.java:222)
   at org.springframework.extensions.surf.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:56)
   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:334)
   at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:948)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
   at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
   at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
   at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
   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:632)
   at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1229)
   at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
   at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
   at java.util.concurrent.FutureTask.run(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Caused by: java.net.BindException: Address already in use
   at java.net.PlainSocketImpl.socketBind(Native Method)
   at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
   at java.net.ServerSocket.bind(Unknown Source)
   at java.net.ServerSocket.<init>(Unknown Source)
   at java.net.ServerSocket.<init>(Unknown Source)
   at org.mortbay.jetty.bio.SocketConnector.newServerSocket(SocketConnector.java:80)
   at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
   at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:283)
   at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
   at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
   at org.mortbay.jetty.Server.doStart(Server.java:235)
   at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
   at org.alfresco.module.vti.VtiServer.onBootstrap(VtiServer.java:214)
   … 23 more
09:51:06,886 WARN  [org.springframework.web.context.support.XmlWebApplicationContext] [localhost-startStop-1] Exception thrown from ApplicationListener handling ContextClosedEvent
java.lang.NullPointerException
   at org.springframework.extensions.config.xml.XMLConfigService.removeElementReaders(XMLConfigService.java:504)
   at org.springframework.extensions.config.xml.XMLConfigService.destroy(XMLConfigService.java:150)
   at org.springframework.extensions.config.BaseConfigService.onShutdown(BaseConfigService.java:630)
   at org.springframework.extensions.surf.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:67)
   at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEventInternal(SafeApplicationEventMulticaster.java:209)
   at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:185)
   at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
   at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1049)
   at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010)
   at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:586)
   at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143)
   at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5014)
   at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5659)
   at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
   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:632)
   at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1229)
   at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
   at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
   at java.util.concurrent.FutureTask.run(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

cosa c'e' che non va?

qmiki
Champ in-the-making
Champ in-the-making
ho risolto il problema di cui sopra ma mi sono accorta di aver un problema con le email. In pratica mentre le email da indirizzi yahoo.it arrivano correttamente, le email dai nostri indirizzi aziendali e anche dagli indirizzi gmail.com non arrivano. Ho provato a inviare un mail localmente seguendo le istruzioni di http://alfrescoblog.com/2014/08/07/alfresco-inbound-tutorial-and-telnet-instructions/ e quando l'indirizzo e' un gmail.com o un indirizzo aziendale, il mail compare in alfresco (mentre se lo mando da fuori no) ma con questo errore:

421 Timeout waiting for data from client.
Connection closed by foreign host.

qmiki
Champ in-the-making
Champ in-the-making
se a qualcuno interessa, ho risolto anche il problema delle email gmail disattivando il supporto al TLS. In pratica ho visto che di default il TLS e' attivo e bisogna forzarne la disattivazione con email.server.enableTLS=false

Altrimenti bisogna configurare correttamente il TLS

Grazie,

hai fatto benissimo a condividere!

simtheo
Champ in-the-making
Champ in-the-making
Salve a tutti.
I post che avete scritto mi sono stati molto utili per poter configurare e testare il mio Alfresco per attivare il servizio di inbound email ma, purtroppo, non funziona nulla …
Riuscite a darmi una mano per capire dove sta l'errore?
Il mio problema, ovviamente è che l'inbound non funziona: in alfresco non viene importata la mail che invio all'utente.

Vi descrivo l'ambiente di test che ho creato:
- ho installato tutto localmente sul mio PC, il cui nome è MATTEOSNB
- ho installato Alfresco Community Edition 5.1
- ho installato un mail server utilizzando il software hMailServer, per potermi creare in piena libertà le caselle di posta
- non ho ne firewall ne proxy attivi sul mio PC

Il mail server ha attivi i servizi SMTP, POP e IMAP che lavorano sulle porte standard (25, 110 e 143); ho creato il dominio "aaa.it" e le seguenti caselle di posta:
- matteo
- aaa
- test
- pippo
quindi le caselle di posta avranno gli indirizzi: matteo@aaa.it

Ho utilizzato outlook per testare il funzionamento delle caselle e tutto funziona correttamente: le caselle di posta che ho creato in outlook puntano al mail server in locale e lavorano sulle porte standard. Quindi nella configurazione della casella, il server SMTP e il server IMAP o POP puntano al server MATTEOSNB.
Ho provato a mandare le mail da una casella all'altra e tutto funziona correttamente.
Ho anche provato da una casella di prova a mandare una mail alla mia casella GMAIL e questa è arrivata correttamente.

Fatto questo ho configurato Alfresco, per quanto riguarda INBOUND e OUTBOUND mail. Vi lascio la configurazione:

### Outbound Email Configuration ###
mail.host=matteosnb
mail.port=25
mail.username=matteo@aaa.it
mail.password=xxxxxxxx

### Inbound setting ###
email.inbound.unknownUser=aaa
email.inbound.enabled=true
email.server.enabled=true
email.server.port=25
email.server.domain=aaa.it
email.server.allowed.senders=.*

###IMAP Configuration###
imap.server.enabled=true
imap.server.port=143
imap.server.host=localhost

L'invio delle mail da Alfresco funziona a meraviglia.
L'inbound no.

Con TELNET ho verificato il funzionamento dei servizi e tutto è attivo: sulla porta 25 mi risponde il mio mail server.

In Alfresco ho creato i seguenti utenti (mi riferisco solo allo username):
- matteo
- aaa
- test
- pippo
Tutti questi utenti sono amministratori di Alfresco e fanno parte del gruppo EMAIL CONTRIBUTORS

Ho creato le cartelle in cui andare a importare le mail e per semplicità corrispondono all'utente creato, quindi:
- pippo_cartella => impostato l'alias pippo
- su pippo_cartella, tutti hanno diritto di scrittura
- ho aggiunto anche l'aspetto "associabile ad alias (email)"

Così l'ambiente mi sembra completo e correttamente configurato.

Ora provo a mandare le mail: se mando la mail da matteo@aaa.it a pippo@aaa.it, mi aspetto che Alfresco intercetti la mail e la carichi nella cartella pippo_cartella … cosa che purtroppo non avviene.
Però, la mail mandata da matteo, compare nella casella di posta di pippo@aaa.it, quindi è stata inviata correttamente.

Dove sto sbagliando?

Spero che davvero mi possiate aiutare.

Grazie mille.

Ciao a tutti.

Ciao,

l'inbound email non è configurata correttamente.

Alfresco ha un suo servizio che risponde a chiamate smtp quindi non devi usare il tuo server.
Prova ad usare una porta diversa dalla 25 (che è già "occupata" dal tuo servizio smtp… nei log dovresti trovare degli errori a riguardo in fase di avvio). Inoltre nel campo email.server.domain dovresti mettere il dominio della macchina.

Grazie mille per l'aiuto !!! Ho sistemato il file di config ed effettivamente qualcosa è cambiato: lo copio qui sotto.
L'outbound ancora funziona correttamente; per l'inbound ho lasciato la porta 25 ed ho spento il mio server smtp (tanto non serve).

Quando i servizi si avviano, mando la mail via comandi dos, come la guida indicata nel primo post: per provare, mando la mail alla casella [mionome@miodominio.com], utilizzando come mittente la mail di un utente EMAIL CONTRIBUTORS.
In Alfresco ho creato un utente con username [mionome].
Ho creato una cartella chiamata [PIPPO]
Alla cartella [PIPPO] ho associato l'alias [mionome]
L'utente [mionome] inizialmente non l'avevo messo nel gruppo EMAIL CONTRIBUTORS ed effetivamente mi veniva ritornato l'errore all'invio della mail dicendomi che [mionome] non era stato aggiunto al gruppo.
Dopo averlo aggiunto, all'invio della mail mi viene ritornato un errore: 554 an internal error prevented mail delivery.
A fronte di quest'errore ho aperto il log solr.log in cui ho trovato la seguente eccezione: org.apache.solr.common.SolrException: Invalid Number: mionome

Ho cercato un po' in internet e il problema sembra quasi associato all'utente destinatario della mail: invece che usare l'alias dovrei usare l'id della cartella destinazione, nella quale caricare la mail?

Grazie mille per il supporto !!!

****************************************
FILE DI CONFIG
****************************************

### Outbound Email Configuration ###
mail.host=smtpxxx
mail.port=25
mail.username=mionome@miodominio.com
mail.password=
mail.smtp.auth=false

### Inbound setting ###
email.inbound.unknownUser=aaa
email.inbound.enabled=true
email.server.enabled=true
email.server.port=25
email.server.domain=miodominio.local
email.server.allowed.senders=.*

###IMAP Configuration###
imap.server.enabled=true
imap.server.port=143
imap.server.host=miopc.miodominio.local