Hey. Anyone knows if the plugins using Redis use transaction calls (multi()...exec()) a lot? I'm wondering if I could use a fork of haraka-plugin-redis to switch from node_redis to ioredis (I need redis sentinel support), would it break a lot of stuff? On my experience the most important breaking change of ioredis is how exec() returns the results
_smf_
andris9: I haven't looked but I suspect the plugins most likely to do that are greylisting and the rate_limit plugins
andris9
Ok, I think I just grep through the code to see how Redis is used there
_smf_
Yeah - that's all I would do.
anosh
👌
_smf_
Something really weird is happening in #2167
I've just hit that bug on a spamtrap that I'm building.
Yet the code in plugins that I've changed to fix it hasn't been touched in 2 years...
anosh
weird
We're getting a different kind of connection pooling issue
but it *might* be us
MuraraAllan has quit
cyberde
Where is the bounce generated when something fails rcpt_to.in_host_list ?
EyePulp joined the channel
I was looking to find the error/bounce that it would provide, but my best guess is DSN.relaying_denied() ?
_smf_
cyberde: that doesn't generate a bounce
Bounce messages are only generated when you accept a message but subsequently cannot deliver it to it's destination for some reason.
In the case of something failing rcpt_to.in_host_list - the recipient will be *REJECTED* e.g. return next(DENY);
cyberde
Ow yes sorry, the server does not generate a bounce, but it should return a DENY?
Yes, but there is no DENY in that plugin :$
_smf_
cyberde: you're right - I think that was done so multiple plugins could run on hook_rcpt and one might accept it.
However if no hook_rcpt plugin returns next(OK), then core will defer the recipient itself.
But I don't think that's ideal personally.
cyberde
_smf_ I have my own plugin DENYing it before that plugin so relaying_denied would be the ideal DSN?
_smf_
Yeah
You don't have to return ENHANCEDSTATUSCODES BTW.
just return next(DENY, 'Relaying denied') is fine.
The reason I say that is because we don't advertise ENHANCEDSTATUSCODES in the EHLO response because not all plugins use the DSN module.
And core doesn't either
cyberde
_smf_ Ow, I thought it made sense to use that one.
_smf_
You can use it if you like. The enhanced codes might be ignored though.
It probably doesn't matter.
cyberde
How do you guys run haraka in production? I'm using pm2 but it seems to screw up my environment variables...
baudehlo
_smf_: maybe we should make a hacktoberfest to convert core to those status codes?
cyberde: I use runit, but nobody else seems to.
andris9
I use systemd service files to run all my stuff on production
cyberde
ow pm2 caches the environment variables :s
baudehlo
I wouldn't recommend pm2 at all.
It tries to do the cluster stuff for you, and Haraka needs to do that stuff itself.
cyberde
baudehlo : It seems to run it in mode "fork" by default
[13Haraka] 15SamuelGrave opened pull request #2178: #2129 - Replace all string concaternation with template literals on connection.js (06master...06refactor_connection.js) 02https://github.com/haraka/Haraka/pull/2178
cyberde
Also, it might be a good idea to add environment variables as a "config" type in haraka?
GitHubBot
[13Haraka] 15SamuelGrave opened pull request #2179: Replace all string concaternation with template literals on plugins/data.frc533_header_checks.js file (06master...06refactor_data.rfc533_header_checks) 02https://github.com/haraka/Haraka/pull/2179
andris9 has quit
EyePulp joined the channel
EyePulp_ joined the channel
knutix joined the channel
_smf_
baudehlo: I'm not sure that a hacktoberfest for that would work that well. There are a lot of DSN codes and not all of them are obvious as to which we should use.
baudehlo
True
GitHubBot
[13Haraka] 15SamuelGrave opened pull request #2181: plugin/refactor_graph.js replaces all string concaternation to string templates (06master...06refactor_plugin/graph.js) 02https://github.com/haraka/Haraka/pull/2181
cyberde
anosh : environment variables in config files? Template like you mean?
anosh
yeah
We already have this working
just need to clean up the code to add to haraka
cyberde
anosh Nice, would solve my issue :)
anosh
We're not running bleeding edge Haraka since we keep doing patches whenever we build, I can send you a gist of our patch
_smf_: I don't really understand why #2184 fixed things.
_smf_
I don't understand why it suddenly became a problem - but #2184 prevents specific hooks being aborted by client_disconnected()
baudehlo: ^ (forgot to tag you..)
baudehlo
Yeah so strange.
_smf_
There's been far too many changes for me to work out the diffs between the two versions.
It could be related to the move to haraka-constants etc.
But as it stands - the current npm version was horribly broken for me.
sal27
Is there a discord grouo for this?
Group*
GitHubBot
[13Haraka] 15msimerson closed pull request #2179: Replace all string concaternation with template literals on plugins/data.frc533_header_checks.js file (06master...06refactor_data.rfc533_header_checks) 02https://github.com/haraka/Haraka/pull/2179
anosh
sal27 nope
sal27
Ok thanks, where can i go to hire someone witha good understanding of haraka,
Everywhere ive looked people have no idea what im talking about
Any help is appreciated
EyePulp_
sal27: I don't know that there's place you'll find freelance haraka experts. It's usually people scratching their own itches and ready to modify/support their own install for the company they work for.
[13Haraka] 15stefanlw opened pull request #2186: replace concatenated strings with template literals in plugins/toobus… (06master...06toobusy) 02https://github.com/haraka/Haraka/pull/2186
_smf_
sal27: what exactly do you want?
I don't really have any spare cycles though
sal27
_smf_: i need help setting up haraka on a vultr vps, i have a web app i would like to use it with
dsal27 joined the channel
sal27 has quit
_smf_
dsal27: why do you need Haraka specifically?
dsal27
I plan to make my platform free, so i expect huge volumes of email happening
Heard haraka is the best with high volumes
cyberde
dsal27 Probably true as it is build on top of nodejs
dsal27
Yea I've done alot of research, actually had a smtp up and running but a dev i worked with accidentally deleted the vps it was on, so I'm in a bit of a pickle, fully made php web app for email with no smtp
Waa haraka previously
cyberde
dsal27 Setting up Haraka is easy, but I assume that he build some kind of plugins to work with your web app and if you don't have those, than you have an empty server.
dsal27
The app accepts credentials simular to mailjet and such
If it can accept most smtp's assuming all the info is provided do you think a custom plugin would still be needed?