Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 02:43

    asfgit on master

    JAMES-3490 Allow custom capabil… JAMES-3490 maxUploadSize should… (compare)

  • Jan 26 20:53
    jeantil synchronize #264
  • Jan 26 16:37
    chibenwa synchronize #287
  • Jan 26 16:37
    chibenwa synchronize #287
  • Jan 26 16:19
    jeantil synchronize #264
  • Jan 26 10:38
    chibenwa synchronize #287
  • Jan 26 10:06
    jeantil synchronize #264
  • Jan 26 05:37
    chibenwa opened #287
  • Jan 25 14:21
    jeantil synchronize #264
  • Jan 25 02:58
    asfgit synchronize #264
  • Jan 25 02:58

    asfgit on master

    JAMES-3431 Move DSNRelayTest to… JAMES-3432 DSN generation integ… JAMES-3431 Add dsn delay integr… (compare)

  • Jan 22 15:09
    mbaechler synchronize #264
  • Jan 22 11:05
    mbaechler synchronize #264
  • Jan 22 09:35
    mbaechler synchronize #264
  • Jan 22 09:34
    jeantil synchronize #264
  • Jan 22 09:31
    jeantil synchronize #264
  • Jan 22 07:37
    Arsnael closed #223
  • Jan 22 07:37
    Arsnael commented #223
  • Jan 22 07:36

    asfgit on master

    JAMES-3211 Extends mailbox-api … (compare)

  • Jan 22 07:22
    chibenwa commented #223
Tellier Benoit
@chibenwa
Hello @jfarjona
Delegation is implemented partially and only in JMAP, not over IMAP. We did not implemented yet the relevant RFCs.
administratorId is more for impersonation - we for example use it for imapsync in order to migrate data from other servers into James.
svalluripalli
@svalluripalli
Good Morning, I have a custom Mailet to check on a condition, if condition is true return Processes MDN, If it fails and then return failed to process message MDN. Is there any example to handle the MDN value in custom mailet?
Tellier Benoit
@chibenwa
@svalluripalli what do you mean by "handle" ?
ExtractMDNOriginalJMAPMessageId does some processing based on MDNs if that can help you...
jprasanna1981
@jprasanna1981
Hi All
I want to change the sender name (from addresss) alone and I like to fetch it from my postgres DB using a select query. how to do this one
Say Rob is sending then it should come as Rob admin@domain.com and if stewart send it should come as Stewart admin@domain.com. I will fetch 'Rob' and 'Stewart' from postgres DB using a simple select query
jprasanna1981
@jprasanna1981
I am using config.xml for all the 'match'
svalluripalli
@svalluripalli
@chibenwa , I wanted the MDN to fail either by not returning or send an Error status in the MDN
Tellier Benoit
@chibenwa
@svalluripalli I still don't understand what you want to try to achieve...
Aparna Sankuappan
@sankuappan_twitter
Does anyone know if its possible to integrate statsd with Apache James for metrics? i saw in the documentation integration of grafana with elasticsearch.properties. we use statsd to feed all the information to grafana; so want to see if the statsd integration is possible?
I see the below bean configuration, would we be able to extend it via DefaulyMetricFactory
@Bean(name = "metricFactory")
public DefaultMetricFactory metricFactory() {
return new DefaultMetricFactory();
}
or even if we do some customization here; would it work only with elasticsearch?
Tellier Benoit
@chibenwa
Hi @sankuappan_twitter
The metric library (dropwizard) is so far only integrated on top of Guice, not on top of Spring.
I bet a bunch of integration would then be needed ie using https://github.com/dehora/dropwizard-statsd
Aparna Sankuappan
@sankuappan_twitter
@chibenwa Thanks! Thinking if there is an easier workaround. Currently in my logs I get output of IMAP commands which i want to input to grafana( but we are not planning to increase our log level in prod environment; hence extracting data from logs was not a choice for us)
o.apache.james.metrics.logger.DefaultMetricFactory:45 Time spent in IMAP-APPEND:
o.apache.james.metrics.logger.DefaultMetricFactory:45 Time spent in IMAP-AUTHENTICATE:
o.apache.james.metrics.logger.DefaultMetricFactory:45 Time spent in IMAP-CAPABILITY:
o.apache.james.metrics.logger.DefaultMetricFactory:45 Time spent in IMAP-CLOSE:
And i saw the above is coming from DefaultTimemetrics class of James
@Override
public ExecutionResult stopAndPublish() {
long elapsed = stopwatch.elapsed(TimeUnit.MILLISECONDS);
DefaultMetricFactory.LOGGER.info("Time spent in {}: {} ms.", name, elapsed);
return new DefaultExecutionResult(Duration.ofNanos(elapsed));
}
so if i customize the ExecutionResult stopAndPublish() to write to influxdb via an http call; that should be possible right?
or are there any James specific constraint in doing so?
Tellier Benoit
@chibenwa
Well, first the DefaultMetric factory is a bit dumb. I advocate you use the DropWizard metric factory, which is the default for Guice based servers.
Then it is as simple as adding the metric exporter for statsd.
James Spring APP do not rely on dropwizard to back metrics.
Aparna Sankuappan
@sankuappan_twitter
Thanks @chibenwa ; we are not using the Guice based configuration; so will look for alternate options
Aparna Sankuappan
@sankuappan_twitter
One question though; since we are not using Guice based configuration; if we have to replace DefaultMetric factory that's currently available with the dropwizard; what steps need to be done; would you please mind elaborating it?
Tellier Benoit
@chibenwa
You need to include the maven dependency for dropwizard metric integration in James, you need to replace the spring declaration for the metric factory.
It should be pretty simple.
Aparna Sankuappan
@sankuappan_twitter
Got it; thank you!
svalluripalli
@svalluripalli
@chibenwa , I am able to create Mailet as per our requirement. The Incoming mail need to be verified for certain criteria. If it doesn't meet the criteria, we do not want to process the message to Inbox and return an Error to the sender. Sorry, I wasn't clear before with respect to requirement details. I managed to achieve this functionality. Thank you.
Tellier Benoit
@chibenwa
@svalluripalli If it doesn't meet the criteria => I understand that you want to write a Matcher wrapping your criteria.
Then you can use the Bounce mailet / DSNBounce mailet to send back an error message to the sender. Finally the LocalDelivery mailet can be used "as is">
Thank you very much for this short question: maybe the documentation is missing basic advice regarding mailet pipeline design (break things in smaller parts, reuse existing mailets, use matchers for conditiones etc...).
sorin
@srncristea
hey guys, I'm new to James, I found about it just few days ago, I want to embed it in a java app where each email that I received, I want to process it, for example read attachmeents, and upload somewhere this(for that I want to emabed James on a new java app), at this moment I don't want to read emails from James, only to received emails through it and after this part will be done, deploy the app on google could. Its possibile to deploy James on goole cloud ? thx
10 replies
ionmacovei
@ionmacovei
Hello to everyone, In there any configuration on James that allows hiding the private IP of the mail sender?
image.png
ionmacovei
@ionmacovei

Hello to everyone, In there any configuration on James that allows hiding the private IP of the mail sender?

I have solved the issues in the following way:
<mailet match="RemoteAddrInNetwork=192.168.*" class="RemoveMimeHeader">
<name>Received</name>
</mailet>

mudit-ag
@mudit-ag
Hi, I am new in the group.
Where can I find the latest release notes for the version from 3.0 onwards?
Tellier Benoit
@chibenwa
mudit-ag
@mudit-ag
@chibenwa Thanks
svalluripalli
@svalluripalli
@chibenwa Good Morning. Our james mails are saved under /var/ folder and we don't want that to happen. All the mail messages success, failure, spam everything should be written to our database. Is there any configuration I need to set for this to happen?
1 reply
svalluripalli
@svalluripalli
We are using James JPA Guice version 3.2.0

@svalluripalli If it doesn't meet the criteria => I understand that you want to write a Matcher wrapping your criteria.
Then you can use the Bounce mailet / DSNBounce mailet to send back an error message to the sender. Finally the LocalDelivery mailet can be used "as is">
Thank you very much for this short question: maybe the documentation is missing basic advice regarding mailet pipeline design (break things in smaller parts, reuse existing mailets, use matchers for conditiones etc...).

This is really helpful. Thank you.

Stoyan Bukovich
@Stoyan-Bukovich
Hello, everyone. I am "newbie" in Apache James world. So as fresh-starter I am curious if I can run Cassandra-Guice (not docker) with Elassandra instead of Cassandra + Elasticsearch. Did any of you guys has any experience? Thanks.
4 replies
KillzoneAgency
@DanielMBrown

Hi, I'm working on a graceful shutdown of apache james (wrapped in a spring boot application).

Specifically looking at ways to prevent a shutdown if active connections are open. Is there a way to get a count of active connections easily, that I haven't found yet?

1 reply
Eugene Serkin
@jeserkin

Good evening. I have a question about custom mailets. I've created a custom mailet and added it to mailetcontainer.xml under <processor state="root" enableJmx="true">. The issue, that I am having is that I am receiving following Error on James startup "AbstractStateMailetProcessor - Unable to init mailet ...." and later on it gives java.lang.ClassNotFoundException.

My Mailet is located in separate jar file, that I add to ...james/conf/extensions-jars/. But after I restart James it gives mentioned error in log file.

Mailet is defined as follows
<mailet match="HasHeader=X-DigitalPost-Confidentiality=confidential" class="path.to.package.mailets.SetConfidentialityFlag" />

And it content is:

public class SetConfidentialityFlag extends GenericMailet {
  @Override
  public void service(Mail mail) throws MessagingException {
    mail.getMessage().setFlags(new Flags("Confidentiality"), true);
  }

  @Override
  public void init() {
  }

  @Override
  public String getMailetName() {
    return "SetConfidentialityFlag";
  }
}
8 replies
Neptunium1129
@Neptunium1129
dear james.. i think. james mail engine serious problem.. about mobile outlook app doesn't work/
5 replies
smtp 25 not work. and i was setting 465, 993 same not work. How can I operate it? but gmail app is fine
Did I miss anything?
sorin
@srncristea
@jeserkin did you solve your problem ?
I'm new on James and I want to have to same approach, meaning I want to define a new mailet but I start by fork the James sources and implement there directly the *Mailet on it sources and bulild the server from sources .
sorin
@srncristea
hey guys, did some of you succed to run James as docker image, with a custom mailet implemented for example, base on Spring or Guice ? thx
Raphaël Ouazana
@rouazana

hey guys, did some of you succed to run James as docker image, with a custom mailet implemented for example, base on Spring or Guice ? thx

the link has been provided in a thread just above: https://james.apache.org/howTo/mail-processing.html

Eugene Serkin
@jeserkin

Good evening. Once again I am having difficulties. Current problem is: Reconstruction of MimeMessage from MessageResult object in Custom listener.

At one point I assumed, that problem is resolved, when I found MessageResultImpl), but as it turned out, it was from 0.1-SNAPSHOT and as far as I understand it is not supported anymore in format, that is present here.

If it was I assume it would be walk in the park: MessageResultImpl(MessageResult result) -> getMimeMessage()

I was looking at Mime4J, but it looks like it also doesn't provide any easy solution to convert MessageResult into MimeMessage.

9 replies