Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • May 26 11:02
    vttranlina synchronize #1017
  • May 26 10:28
    Arsnael synchronize #1018
  • May 26 10:28

    Arsnael on upgrade-es-8.2

    WIP JAMES-3771 upgrade to elast… (compare)

  • May 26 10:16
    quantranhong1999 opened #1025
  • May 26 09:13
    chibenwa edited #1023
  • May 26 09:01
    quantranhong1999 synchronize #1024
  • May 26 08:43
    chibenwa synchronize #1016
  • May 26 08:41

    chibenwa on master

    JAMES-3623 MetaDataFixInconsist… (compare)

  • May 26 08:41
    chibenwa closed #1019
  • May 26 08:41

    chibenwa on master

    JAMES-3756 DelegationStore API … (compare)

  • May 26 08:41
    chibenwa closed #1015
  • May 26 08:41

    chibenwa on master

    JAMES-3715 Prevent possible NPE… (compare)

  • May 26 08:41
    chibenwa closed #1014
  • May 26 08:41

    chibenwa on master

    JAMES-3737 Reactive IMAP CREATE… (compare)

  • May 26 08:41
    chibenwa closed #1011
  • May 26 08:39
    chibenwa synchronize #1009
  • May 26 08:33
    chibenwa synchronize #1023
  • May 26 08:16
    vttranlina synchronize #1017
  • May 26 07:16
    quantranhong1999 synchronize #1024
  • May 26 05:58
    quantranhong1999 opened #1024
Neptunium1129
@Neptunium1129
image.png
image.png
I'm curious about the exact way to generate a certificate.]
Benoit TELLIER
@chibenwa
Your Spark mobile says "certificate not generated by DigiCert, GeoTrust, RapidSSL or Thawte" I bet they only accept a subset of certificates and not those generated by let's encrypt. It's thus an application problem.
David R
@Xcreen

Hi,
im now trying to migrate from 3.6.0 Spring to 3.6.2 JPA Guice.
In 3.6.0 we have a custom bounceprocessor, i have upgraded that to the version 3.6.2 and adjust the mailetcontainer.xml but the mailet never gets triggered.
Is there something that have changed?

Thanks

3 replies
bluepapaya77
@bluepapaya77
Hi,
I'm looking try out James for a personal project where I need a JMAP server. I've been having trouble getting it up and running, in part because there seem to be at least three different places that claim to be quickstart instructions. I'm hitting different roadblocks for each.
https://github.com/apache/james-project/tree/3.6.x#how-to-try-james says to download a docker-compose.yml file that gives a 404 error.
I don't quite remember the issues I had with the instructions at https://james.apache.org/howTo/imap-server.html and another place I can't seem to find today. I can ask a more useful question about it if I know which quickstart I should be following.
10 replies
Christopher Colemani
@chrisco484
Is James 3.7.0 available in a prebuilt Docker container yet?
2 replies
Rajesh Sundaram
@raje-sh
Hi,
I am trying to run a distributed James-app using the docker-compose file.
https://github.com/apache/james-project/blob/master/server/apps/distributed-app/docker-compose.yml
I get the following error when running james-cli commands. could anyone help me understand what I am doing wrong? :bow:
docker-compose exec james james-cli listDomains

Error connecting to remote JMX agent : Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
        java.net.ConnectException: Connection refused (Connection refused)]
usage: java org.apache.james.cli.ServerCmd --host <arg> <command>
 -h,--host <arg>   node hostname or ip address
 -p,--port <arg>   remote jmx agent port number
18 replies
Glennos
@glennosss

Hi all!

Just successfully created a simple SMTP server based off 'org.apache.james.protocols:protocols-smtp:3.7.0' with SPF / DKIM validations.

Although it was a long day setting this up, it really didn't take much work to setup - so thank you Apache James team for making this so easy!

The largest issues I had related to dependency management issues. And I'm wondering what appetite the Apache James community has for me to send in some pull requests to get this fixed??

The types of issues I'd like to provide pull requests for or alternatively have someone else fix are;

1) 'org.apache.james.protocols:protocols-smtp:3.7.0' - includes 'io.netty:netty:3.10.6' (ridicously old version from back when JBoss still owned netty), rather than 'io.netty:netty-*:4.1.74.Final' like everything else - can't fix this by simply excluding.

2) Legacy JavaMail used everywhere - specifically 'com.sun.mail:javax.mail' / 'org.apache.geronimo.javamail:geronimo-javamail_1.4_mail' - should move to either 'com.sun.mail:jakarta.mail:1.6.7' or 'com.sun.mail:jakarta.mail:2.0.1' (moving to 2. requires package rename from "javax.mail." to "jakarta.mail.*" but other than that it's identical)

3) JDK's SSLContext should just be replaced with Netty's SslContext (note lowercase "Ssl" rather than "SSL") - Encryption class could then be simplified to just "SslContext context" and "boolean starttls" fields (wouldn't need cipher/client fields anymore) - would gain the ability to use other SSL libraries like openssl/boringssl.

4) 'org.apache.james.jspf:apache-jspf-resolver:1.0.1' - 'org.apache.james.jspf.core.Logger' should be removed, 'log4j' dependency should be removed - should just use SLF4J.

5) 'org.apache.james.jspf:apache-jspf-resolver:1.0.1' and 'org.apache.james.jdkim:apache-jdkim-library:0.2' both use 'dnsjava' which should just be replaced with Netty's DNS resolver.

Thoughts??

4 replies
A second much more minor issue - does Apache James have any support for the DMARC DNS entry or for emailing DMARC rua/ruf reports on validation failures?
2 replies
Glennos
@glennosss
FYI Just created pull request to upgrade from Legacy JavaMail to Jakarta Mail 2.0.1/Activation 2.0.1
apache/james-project#923
This pull request also upgrades Bouncy Castle 'bcmail' (Legacy JavaMail) to Bouncy Castle 'bcjmail' (Jakarta Mail)
2 replies
Glennos
@glennosss
@chibenwa ported all of https://github.com/apache/james-project/tree/master/protocols across to Netty 4. I'll be sending pull request shortly! I haven't ported https://github.com/apache/james-project/tree/master/server/protocols but I was wondering if I could get some assistance from the project's maintainers for this? The bulk of the tricky stuff has been done, it's passing unit tests and working as a live server.
5 replies
Jishnu S
@JishnuThazhath

hi,
Trying to setup multiple James server sitting behind a loadbalancer. These James instances are configured to connect to a single MS SQL database.
This setup is causing issues.

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 114) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
        at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:265) ~[mssql-jdbc-10.2.0.jre11.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerResultSet$FetchBuffer.nextRow(SQLServerResultSet.java:5479) ~[mssql-jdbc-10.2.0.jre11.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerResultSet.fetchBufferNext(SQLServerResultSet.java:1798) ~[mssql-jdbc-10.2.0.jre11.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerResultSet.next(SQLServerResultSet.java:1056) ~[mssql-jdbc-10.2.0.jre11.jar:?]

Seems like this James distribution does not support for multi node setup. To create a setup like above, is there any separate James distribution available ?
Or is there any configs I am missing to make these multiple instances coordinate and work ?
Any thoughts ?
Thanks in advance.

2 replies
mrschiller1971
@mrschiller1971
Hello, getting a stack trace with a fairly vanilla setup on mariaDB (MySQL), where is the appropriate place to post that?
1 reply
mrschiller1971
@mrschiller1971
just a finding here, when using MariaDB, the boolean columns get created as BIT column types when the tables auto generate, this fails when fetching emails with a BigInt parse stacktrace. I manually changed them to INT and it seems to resolve the issue. Is there somewhere useful this could be documented for others?
1 reply
tw-robdavis2
@tw-robdavis2
Hello @chibenwa What syntax do you use for imapsync ? the administratorid is set in users repository and imapsync --host1 localhost --user1 <user> --authuser1 <configured administratorid> --password1 <adminidpw> --host2 localhost --user2 <user2> --authuser2 <administraorid> --password2 <adminidpw>
1 reply
160618407
@160618407
I'm using V2.3.3, I want to deploy more zhan one james application nodes. How do it?
David Weber
@thejeed
Hi there,
I'd like to use James(3.6.2) as an SMTP relay. This already works fine, but I'd like to monitor successfully forwarded (and bounced) mail counts using Prometheus and Grafana. I've searched for a guide to monitor James, but I just don't unterstand what exactly to look out for. Could you give me a clue please which metrics to use or where to search in the documentation?
3 replies
160618407
@160618407
I mean that I
I want to deploy many james application server node,and proxy them through nginx ,so enable thoses james hight available.
160618407
@160618407
By zhe way,we had done 2nd development for James v2.3.3,we do not want upgeade james.I don't know v2.3.3 spports or not.thank you.
2 replies
upgeade>upgrade
gopf
@gopf
Hello, we are having problems forwarding emails through a James server (currently 2.3.2, soon to be upgraded). Anything that sets a header on the forwarded message (e.g. SetMimeHeaderHandler, SpamAssassin) also overwrites the Mime-Version header (in MimeMessage.updateHeaders()). If the original message has a different header value than the MimeMessage default and is DKIM signed (including the mime-version header) then the DKIM signature is broken and our messages stand a good chance of landing in the spam folder. How should forwarding work in this case? We can't skip the spam check as we can't trust the originating server, but if we run the spam check then the message is broken. Any ideas?
1 reply
LJ
@ljose__twitter
Hi, we are using james 3.6.1 and encountered this exception, could you please help advise how to resolve this?
 "exception": {
            "exception_class": "reactor.core.Exceptions.ErrorCallbackNotImplemented",
            "exception_message": "org.apache.james.queue.api.MailQueue$MailQueueException: Unable to dequeue next message;\n  nested exception is:\n\tjavax.mail.MessagingException: IOException while copying message;\n  nested exception is:\n\tjava.io.FileNotFoundException: /../var/store/activemq/blob-transfer/2/ID_james-v3-4-35033-1649228155204-5_1_1_1_64886 (No such file or directory)",
image.png
Lenin
@emaillenin_twitter

Hi Team, is it possible to make James use RFC 5321 in response for MAIL commands?

Instead of "250 OK" we are getting "250 2.1.0 Sender <from@email.com> OK"

We are integrating James with a very old device which will only accept "250 OK" as response as per

The SMTP server must accept the MAIL FROM with a "250 OK" reply if the format is good and the address is deemed acceptable. Otherwise, the server typically responds with a 550 or 553 error response to indicate whether the failure is temporary or permanent. Other acceptable error status codes are 552, 451, 452, 503, 455, and 555 (see RFC 5321 for their definitions).

https://aws.amazon.com/blogs/messaging-and-targeting/debugging-smtp-conversations-part-1-how-to-speak-smtp/

4 replies
tw-robdavis2
@tw-robdavis2

James 3.6 springboot w/ SQL DB
Implementing mailbox quotas:
I simply need to apply a 50 Gb quota to all mailboxes.

Using the cli w/ the default quota.xml throws an exception on all quota related commands including GetGlobalMaxStorageQuota

./james-cli.sh GetGlobalMaxStorageQuota
12-Apr-2022 15:10:10.293 ERROR [main] org.apache.james.cli.ServerCmd.main:101 - Error while playing command
java.lang.NullPointerException: null
at org.apache.james.mailbox.model.SerializableQuotaLimitValue.encodeAsLong(SerializableQuotaLimitValue.java:40) ~[apache-james-mailbox-api-3.6.1.jar:3.6.1]

Various combinations/edits of quota.xml do not resolve the cli and throw additional exceptions on startup:
12-Apr-2022 15:23:47.704 WARN [main] org.springframework.context.support.AbstractApplicationContext.refresh:550 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.FatalBeanException: Unreadable value for Max Quota Manager : fixed
Exception in thread "main" org.springframework.beans.FatalBeanException: Unreadable value for Max Quota Manager : fixed
at

Is there any documentation on this or instructions to apply 50Gb quota to all user mailboxes. nothing special.

tw-robdavis2
@tw-robdavis2

James 3.6 w/ springboot & SQL DB
Reindexing/Indexing the lucene index

The cli throws an exception when executing reindexing
./james-cli.sh ReindexAll
12-Apr-2022 15:55:49.389 ERROR [main] org.apache.james.cli.ServerCmd.main:101 - Error while playing command
org.apache.james.mailbox.exception.MailboxException: Not implemented

This is true whether setting lazyIndex or luceneIndex in indexer.xml

Given James 3.6 w/ springboot is not horizontally distributable (suggestion: create a matrix where features like distrubtable are made clear), the next best thing for redundancy is failover. When maintaining a JAMES clone in the dark
1) should it build its index upon startup/initial IMAP connections when the backend SQL. DB already has mailboxes/messages?
2) our tests show it is not including mail sent before fail-over
3) Reindexing would imply the instance reads the mailboxes forcing an update to the index. is that the case?
4) deleting the lucene file storage and restarting also does not appear to force james to rebuild the index including mail already stored
5) Being able to fail back would require synchronization

4 replies
Jeen
@jeenyungvpi
Hi everyone,actually I still don't know how to start after reading James offical website!Now, I wish that I can run the mail server with springboot
1 reply
Is there any document deterimines to build a mail server application by using Apache James and springboot step by step!
MeghnaThoughtworks
@MeghnaThoughtworks_gitlab
Hi,
I’m trying to find a way to set a cleanup cron job for James where 45 days old mails are deleted. is there a way or configuration we can achieve that in james with spring?
1 reply
CUhans
@CUhans
HI, I am testing james and having problems in relaying email. My client gets the error relay denied, on the server I see this:
12:50:18.083 [INFO ] o.a.j.p.n.BasicChannelUpstreamHandler - Connection established from 192.168.168.35
12:50:18.122 [INFO ] o.a.j.p.s.c.l.HookResultLogger - org.apache.james.smtpserver.AuthRequiredToRelayRcptHook: result= (DENY CONNECTED)
12:50:18.134 [ERROR] o.a.j.p.n.BasicChannelUpstreamHandler - Unable to process request
java.io.IOException: Connection reset by peer
how do I disable authentication from local network?
1 reply
mleibmangit
@mleibmangit
Hi.
We are running James 3.2.0.
We encounter a strange bug: sometimes mails sent to the wrong host, although most of the mails to the same recipient sent to the right host.
In the log I can see that before each successful attempt there is this line: “[DNSJavaService.findMXRecordsRaw] [pool-27-thread-6]: Found MX record” and then “[MailDelivrerToHost.tryDeliveryToHost] [pool-27-thread-6]: Attempting delivery of”
In the problematic cases i can see only the second line, “Found MX record” is missing.
In these cases, the mail is sent to the IP from the predefined RemoteDelivery mailet.
Did anybody meet this issue before?
Thanks
2 replies
Christopher Colemani
@chrisco484

We want to migrate from a containerized James Guice/JPA 3.6.0 to same but version 3.7.0. I couldn't find any specific 3.6.0 -> 3.7.0 migration pages and no mandatory config changes specified in the changelog so I assume it's a simple upgrade and all the existing data in the Docker volumes that I created for 3.6.0 should continue to work.

Is that a safe assumption? I'll be backing up all data beforehand - just in case ;)

2 replies
Mario Jurado Soba
@mjurado1_gitlab
Hi, anyone knows how to only use TLS 1.2 only? in version 2.3.2, thanks
1 reply
ouvtam
@ouvtam:matrix.org
[m]
Hi all! I'd like to access a generated smtp session id (generated in the rcpthandler) within the mailet. any hints how to achieve this? we are currently using 2.3.2 (and are planning to upgrade soon to the most recent version)
1 reply
ouvtam
@ouvtam:matrix.org
[m]
:point_up: Edit: Hi all! I'd like to access the SMTPSession.getSessionID() (rcpthandler) within the mailet. any hints how to achieve this? we are currently using 2.3.2 (and are planning to upgrade soon to the most recent version)
ouvtam
@ouvtam:matrix.org
[m]
Hi! There might be an issue with <rblservers /> when using public dns resolvers (e.g. 8.8.8.8 / Google) because some RBL limit the amount of requests per day (i.e. fair share). So by default some RBL might be exhausted when using a public resolver and return "no such address" for blacklisted IP addrs. For instance, see https://www.spamhaus.com/resource-center/successfully-accessing-spamhauss-free-block-lists-using-a-public-dns/. By default dns queries in James are resolved by the OS (e.g. /etc/resolv.conf). Instead it would be better to query the DNSRBL server directly by specifying a DNS resolver per <rblservers /> entry (e.g. <blacklist resolver="b.gns.spamhaus.org">zen.spamhaus.org.</blacklist>). Is there enough interest, then I create a PR. best, ouvtam
Benoit TELLIER
@chibenwa
Hello @ouvtam:matrix.org .
2.3 release line is completly outdated, unmaintained, contributors long gone. Its usage is strongly discouraged. You should put the efforts to upgrade to a recent version of James (3.7.0). I can provide consulting doing so if need be.
1 reply
ezTask.io
@coolrb
Hi, I am quite new to apache james. I am trying to use it as MTA(Message transfer agent) to interface with outlook 365, that means it will just forward the emails to outlook. Is it possible?
11 replies
iGaurav4
@iGaurav4
image.png

Hi, I have just started learning about apache james, and i was trying to start james on my server,
https://james.apache.org/howTo/index.html

I am getting below error :-

09:02:00.192 [ERROR] o.a.j.m.l.AbstractStateMailetProcessor - Unable to init mailet Bounce
javax.mail.MessagingException: Unexpected init parameters found: [onMailetException]
at org.apache.mailet.base.GenericMailet.checkInitParameters(GenericMailet.java:313)
at org.apache.james.transport.mailets.Bounce.init(Bounce.java:167)
at org.apache.mailet.base.GenericMailet.init(GenericMailet.java:229)
at org.apache.james.utils.GuiceMailetLoader.getMailet(GuiceMailetLoader.java:56)
... 31 common frames omitted
Wrapped by: javax.mail.MessagingException: Can not load mailet Bounce

11 replies
iGaurav4
@iGaurav4

i have configured james for local domain and it's listening to mails with local domain.

How can i configure for outlook domain?
I have added MX records for the IP where james server is being hosted.
Can someone help with confiuration

6 replies
Tomasz Gelo
@tgelo
Hi, when do you plan to release org.apache.james.protocols-protocols-smtp version 3.8?
4 replies
adam_redacted
@adam_redacted:matrix.org
[m]
Does James's managesieve service support administrator login to impersonate other accounts... similar to the imap service functionality? I use dovecot as a proxy to handle a variety of authentication mechanisms and then use this capability to hand-off to James to do the real mail hosting.
3 replies
adam_redacted
@adam_redacted:matrix.org
[m]
:point_up: Edit: Does James' managesieve service support administrator login to impersonate other accounts... similar to the imap service functionality? I use dovecot as a proxy to handle a variety of authentication mechanisms and then use this capability to hand-off to James to do the real mail hosting.
adam_redacted
@adam_redacted:matrix.org
[m]

I see a mixture of ways to reference an LDAP user repository. What is the correct XML entity name for the guice-cassandra-rabbitmq variant of Apache James to reference a read-only LDAP user repository in usersrepository.xml?

  • <users-store ...
  • <usersrepository name="LocalUsers" ...
  • <usersrepository name="LocalUsers" class="org.apache.james.user.ldap.ReadOnlyUsersLDAPRepository" ...
  • <repository ...
  • etc?

I have attempted several variations, but haven't seen errors in the output from ch.qos.logback.core.rolling.RollingFileAppender that indicate any attempt at connecting to LDAP. I'm using a James build from a github checkout that was made near-or-on Feb 15, 2022.

As a follow-on question, what LDAP attributes does James look for to identify mail aliases after matching on a person's userIdAttribute (uid); would this be the multi-value'd mail attribute or something else?

2 replies
David R
@Xcreen
Hi,
we switch from Spring 3.6.0 to Guice 3.7.0.
Now we encounter strange problems when sending mail. It seems the mail transport is not fully threadsafe or at least the failto.
Eg. we spool a mail with failto test1@example.de. In the Log "Attempting delivery of mail to x from test1@example.de" everything is okay. Now a second mail get spooled with failto test2@example.de. Now the send-log from mail 1 uses the wrong failto. Log: "Mail x sent successfully to x from test2@exmaple.de" (but it should be test1@example.de ...). The second mail gets the same log (which is correct).