Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 13 11:23

    asfgit on master

    JAMES-2642 Add alias mapping in… (compare)

  • Dec 13 10:01

    asfgit on master

    [Refactoring] Remove unecessary… MAILBOX-393 MailboxManager::del… MAILBOX-393 Make JMAP Mailbox d… and 14 more (compare)

  • Dec 13 06:00

    asfgit on master

    JAMES-2525 s/ObjectStorageBlobs… JAMES-2272 Improve CassandraMig… JAMES-2272 CassandraMigrationRo… and 1 more (compare)

  • Dec 13 02:39

    asfgit on master

    JAMES-2721 CassandraCluster ext… [Refactoring] Strongly type Fla… [Refactoring] SetQuotaRequest.R… and 24 more (compare)

  • Dec 12 02:18

    asfgit on master

    [Refactoring] Logout processor … [Refactoring] Get rid of ImapSe… [Refactoring] Stop mocking Imap… and 12 more (compare)

  • Dec 11 10:28

    asfgit on master

    [Refactoring] Move MaildirMailb… [Refactoring] Small access modi… [Refactoring] Remove unused cre… and 10 more (compare)

  • Dec 11 04:50

    asfgit on master

    Document Health checks routes r… [Refactoring] Run IntelliJ 'inn… [Refactoring] Move ElasticSearc… and 7 more (compare)

  • Dec 10 07:50
    rouazana closed #179
  • Dec 10 02:37
    chibenwa closed #171
  • Dec 10 02:37
    chibenwa commented #171
  • Dec 10 02:36
    chibenwa closed #180
  • Dec 10 02:36
    chibenwa commented #180
  • Dec 10 02:35
    chibenwa commented #179
  • Dec 10 02:30

    asfgit on master

    JAMES-2813 ADR about the new di… JAMES-2979 Disable FileMailQueu… JAMES-2979 Deprecate FileMailQu… and 24 more (compare)

  • Dec 09 03:09
    chibenwa synchronize #180
  • Dec 09 03:09

    asfgit on master

    [Refactoring] Remove MailboxMan… [Refactoring] Move MailboxAnnot… [Refactoring] Move DefaultTextE… and 39 more (compare)

  • Dec 06 09:06

    asfgit on master

    [refactoring] clean up array co… JAMES-3000 bump scala version t… (compare)

  • Dec 06 02:34

    asfgit on master

    JAMES-2992 PreviewDTO toString() JAMES-2992 MessageViewFactory g… JAMES-2992 MessageFastView model and 18 more (compare)

  • Dec 05 02:27

    asfgit on master

    [refactoring] use untilAsserted… [refactoring use untilAsserted … [refactoring use untilAsserted … and 4 more (compare)

  • Dec 04 07:39
    chibenwa commented #114
Zorance
@Zorance
I have chosen the port of 465 , So It should deliver the mail on the port of 465 ?
splainez
@splainez
Hi, im runing a James 3.3.0 and Im receiving many login attempts, any configuration or solution to avoid it?
Tellier Benoit
@chibenwa
@Zorance you are confusing "smtp server" and "SMTP client"
You configured the James SMTP server to be listening on port 465,
Not the SMTP client (called RemoteDelivery) to be sending emails over port 465.
Please be aware that this can be achieved by passing additional javax.mail properties to RemoteDelivery configuration within mailet configuration.
@splainez Not directly as part of James, but many users successfully setted up some 'fail2ban' on top of James.
You can have a look in that direction. Also this mailing list thread should add some answers: https://www.mail-archive.com/server-user@james.apache.org/msg16065.html
Zorance
@Zorance
image.png
@chibenwa I deliver mail like this.
As i choose the port 465 , james still deliver the mail to third party on the port 25.
Zorance
@Zorance
What I mean is that James should deliver the mail from my server port 465 to third party port 465 ,not from my server port 465 to third party port 25 .
Tellier Benoit
@chibenwa
@Zorance these properties need to be specified on RemoteDelivery configuration.
I have no idea where you wrote that code and if it is being applied at all.
Please read: https://james.apache.org/server/dev-provided-mailets.html#RemoteDelivery (mail* )
Gualtiero Testa
@gualtierotesta
Hi, the following page
http://james.apache.org/server/3/config.html
has most of file links broken.
For example: "mailetcontainer.xml" links to https://github.com/apache/james-project/tree/master/server/app/src/main/resources/mailetcontainer-template.xml while at that URL the file name is without "-template".
Not sure if and where I should report the issue as a bug
Raphaël Ouazana
@rouazana
@gualtierotesta Thank you for the report. Feel free to open a bug, anyway when we'll fix it we'll have to reference a JIRA number in our commit. Feel also free to contribute the fix :)
Gualtiero Testa
@gualtierotesta
@rouazana OK. I've created the issue (https://issues.apache.org/jira/browse/JAMES-2875).
Raphaël Ouazana
@rouazana
@gualtierotesta Thanks!
Chris
@battcor
hi everyone, is there any guide on how to override authentication of james's jmap protocol?
Chris
@battcor
thinking also if any of these are doable 1. how to remove the authentication. 2. how to increase token expiry
gonekiwi
@gonekiwi

I see that James has been tested with OpenJDK but it's unclear what that means - "James 3.0 has been successfully tested on OpenJDK, Sun JDK and IBM JDK" (https://james.apache.org/server/3/install.html).

After failing to build with OpenJDK 11 I then built James 3.2.0 with Java 8 and attempted to run it with OpenJDK 11 but it wouldn't start. Is anyone running any version of James with OpenJDK 11?

Rene Cordier
@Arsnael
Hi @gonekiwi ! James didn't really jumped yet to the full support on running on Java 11. But we are doing the transition little by little. We upgraded not long ago the compilation to OpenJDK 11 in the current version on development (James 3.4.0), but the target JDK is still java 8. You can check out the actual code in the repo https://github.com/apache/james-project
Rene Cordier
@Arsnael
Hi @battcor ! I don't think we have such a guide. Why would you need to override it in the first place may I ask?
Chris
@battcor
@Arsnael i would like to use my own authentication
Trần Tiến Đức
@trantienduchn
@battcor I already answered to you about it https://gitter.im/apache/james-project?at=5d576b781db76d0ffee89f3b
tilikammon
@tilikammon
New to java and want to play around with mbox file parsing, ran across the example in james-mime4j, but unsure how to use/ access that particular example, any pointers?
cketti
@cketti
It doesn't look like James supports the final JMAP standard (RFC 8620, RFC 8621). Are there any plans to work on that?
Raphaël Ouazana
@rouazana
@cketti yes, we plan to work on it as soon as possible. Contributions welcome of course :)
cketti
@cketti
@rouazana: Great. I'm working on adding JMAP support to K-9 Mail. I'd be happy to test against James. If someone breaks down what work is necessary to do in James I might also be able to help there. Where would communication about his happen?
dinesh-dubey
@dinesh-dubey
Is there a way to add the users in Apache James via configuration file?
Brent Livingston
@bllivingston
@rouazana Update from June 19 2019: I was able to remove the "Received" header using your suggestion of the RemoveMimeHeader Mailet work. Thank you.
Tellier Benoit
@chibenwa

Hello @cketti !

Conversations about this topic should happen on the developer mailing list ( server-dev@james.apache.org ) to allow a better thread support/search/persistance of the conversation.

We should also create an epic on the JIRA with subtickets.

Regarding JMAP spec upgrade, we should be careful not breaking things for existing James clients using the deprecated/outdated JMAP specification. Maybe the best thing would be to expose the final JMAP spec on an other port and keep the old implementation as is (then deprecate & remove it).

@dinesh-dubey this not doable but you can easily write a script to add the users upon startup?
Tellier Benoit
@chibenwa
@cketti I started a preliminary discussion on server-dev regarding this topic ;-)
cketti
@cketti
👍
dinesh-dubey
@dinesh-dubey
Thanks @chibenwa
Aaron Regan
@AaronRegan

Hi, not sure is this the place for this question, if not could you direct me to where I should ask it. I built the guice-cassandra-elasticsearch implementation and have it running in a docker container.

I wanted to use the SMIMESign cyrpto mailet and noticed it wasnt in the .lib folder so I added the jar to extensions-jar. Everything seems to work fine until I send a email using openssl I get the following error -->

ClassNotFoundException: org.bouncycastle.mail.smime.SMIMESignedGenerator.

Should this not already be on the classpath ?

Thanks,
Aaron

Tellier Benoit
@chibenwa
@AaronRegan can you check if org.bouncycastle:bcmail-jdk15on is part of the classpath (in /root/james-server-cassandra-guice.lib) ?
Also, could you provide us:
  • The failing EML
  • And the mailet configuration
    (Of course with fake keys)
    This would allow us to write a test case regarding this.

Should this not already be on the classpath ?

org.bouncycastle:bcmail-jdk15on version 1.62 contains SMIMESignedGenerator class, and org.bouncycastle:bcmail-jdk15on version 1.62 is a build time dependency for apache-mailet-crypto

Aaron Regan
@AaronRegan

Hi @chibenwa,

My james instance was built using the build tutorial under "Run James with Java 8 + Guice + Cassandra + ElasticSearch" on github

The bcmail-jdk15on is not present in the lib folder. bcpkix-jdk15on-1.62 and bcprov-jdk15on-1.62 are present in the lib folder.

The mailet config is as follows:

<mailet class="SMIMESign" match="All" onMailetException="ignore">
<keyStoreType>jks</keyStoreType>
<keyStoreFileName>/root/conf/keystore</keyStoreFileName>
<keyStorePassword>password</keyStorePassword>
<keyAlias>james</keyAlias>
<keyAliasPassword>password</keyAliasPassword>
<signerName>test.de</signerName>
<rebuildFrom>true</rebuildFrom>
<postmasterSigns>true</postmasterSigns>
<debug>true</debug>
</mailet>

I have placed the crypto Jar from the James Project within the extensions-jars folder in my container.

The EML I am sending:

X-Mozilla-Status: 0001
X-Mozilla-Status2: 00800000
X-Mozilla-Keys:
To: test@test.de
From: aaron aaron@test.de
Subject: test
Message-ID: ed936c37-75b2-42dd-87f7-371185e999b9@test.de
Disposition-Notification-To: aaron aaron@test.de
Date: Tue, 17 Sep 2019 10:00:50 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
Gecko/20100101 Thunderbird/60.9.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-GB

test test

test test

and a short snapshot of the log.file:

java.lang.ClassNotFoundException: org.bouncycastle.mail.smime.SMIMESignedGenerator
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 82 common frames omitted
Wrapped by: java.lang.NoClassDefFoundError: org/bouncycastle/mail/smime/SMIMESignedGenerator
at org.apache.james.transport.SMIMEKeyHolder.createGenerator(SMIMEKeyHolder.java:208)
at org.apache.james.transport.SMIMEKeyHolder.generate(SMIMEKeyHolder.java:251)
at org.apache.james.transport.mailets.AbstractSign.service(AbstractSign.java:486)
at org.apache.james.mailetcontainer.impl.camel.CamelProcessor.process(CamelProcessor.java:81)
at org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor$MailetContainerRouteBuilder.handleMailet(CamelMailetProcessor.java:178)
at org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor$MailetContainerRouteBuilder.lambda$configure$0(CamelMailetProcessor.java:155)
at org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63)
... 75 common frames omitted

It seems its linked to the missing dependency.

Thanks for your help.

Tellier Benoit
@chibenwa
@AaronRegan interupt me if I'm wrong, you did add the crypto mailet jar as a custom jar. Correct?
Aaron Regan
@AaronRegan
@chibenwa Yea, I put it in the extensions-jars folder in the container to be picked up by the James server. It appears to work fine, say for example if the mailet cant find a certain parameter and the onMailetException="ignore" method is called it thorws the ocrrect logging error. Its when everything is set to work and the org.bouncycastle.mail.smime.SMIMESignedGenerator is called that the problem starts.
Would this be the correct method of adding the crypto mailet to the Guice + Cassandra build ? Or should it be done in the source code before building ?
Tellier Benoit
@chibenwa
@AaronRegan Ok that's the root cause!
Sadly, Guice application are packaged using maven-jar-plugin, and their classpath is not dynamic.
Extension jars is a class-loader trick in order to load things from a JAR, but transitive dependencies are broken (the bug that you encounter).
There's a (dirty) trick: initialize everything at mailet instanciation.
Of course, the long term solution is to allow to add new jars on the classpath... Not an easy task as it forces us to review in-depth the overall packaging. But that's necessary. We spoke about capsulke as a possible solution. Of course Proof Of Concepts contributions are more than welcomed on this.
Regarding your current issue, that none of both aformentioned solution will solve in a reasonable period of time, I gonna write a quick pull request for packaging crypto mailets within guice applications.
Tellier Benoit
@chibenwa
@AaronRegan Please see a proposed (short term) fix: linagora/james-project#2694
I also give you the reference to the full bug report I opened regarding this: https://issues.apache.org/jira/browse/JAMES-2886 (if you are curious)
Aaron Regan
@AaronRegan
@chibenwa Great ! thanks very much for your help !
Raphaël Ouazana
@rouazana
@AaronRegan where you able to try with a distribution jar? A jar including the classes of your mailet, but also all the dependencies?
Tellier Benoit
@chibenwa
@AaronRegan you can solve your issue by recompiling apache-mailet-crypto in a jar-with-dependencies. linagora/james-project#2695 is a contribution to do it on master.
Aaron Regan
@AaronRegan

@rouazana I tried @chibenwa method on my own fork and it worked as expected !

@chibenwa works as expected, many thanks !

splainez
@splainez

Hello, I have problems with rabbitmq when I send a message and it cannot be delivered and this message returns to the queue, but does not establish the next delivery time, so it is sent again within a few seconds, my mailet config is default, Do I need any additional configuration?

My conf:

        <mailet match="All" class="RemoteDelivery">
            <outgoingQueue>outgoing</outgoingQueue>
            <delayTime>5000, 100000, 500000</delayTime>
            <maxRetries>25</maxRetries>
            <maxDnsProblemRetries>0</maxDnsProblemRetries>
            <deliveryThreads>10</deliveryThreads>
            <sendpartial>true</sendpartial>
            <bounceProcessor>bounces</bounceProcessor>
        </mailet>
Brent Livingston
@bllivingston
I've successfully used log4j.appender with a database (JDBC) to log email delivery status (i.e. success / fail). This works well the majority of the time. However, if the delivery status message contains a single quote (message I'm storing in DB), it throws an error. Based on my understanding, there is no way to escape this in log4j.properties. Any suggestions? The errors is com.microsoft.sqlserver.jdbc.SQLServerException.
Brent Livingston
@bllivingston

BTW, I'm currently using James 3.1.0.

I see some mentioning in forums to use an updated logger like LogBack and SLF4j. I see jar files in James/lib, but can't find any documentation to understand how to use or implement those. Thanks as always.