#haraka

/

      • ultimatt has quit
      • dopesong joined the channel
      • lnb_ has quit
      • lnb joined the channel
      • ultimatt joined the channel
      • Squeebee joined the channel
      • Squeebee has quit
      • Squeebee joined the channel
      • Squeebee has quit
      • ultimatt has quit
      • Squeebee joined the channel
      • Squeebee
        Anyone familiar with iconv errors during install? I got the following error log when trying my first Haraka install: http://pastebin.com/GhMGaeWW
      • ultimatt joined the channel
      • dopesong joined the channel
      • ultimatt has quit
      • darkpixel has quit
      • darkpixel joined the channel
      • DoubleMalt joined the channel
      • bmonty joined the channel
      • bmonty joined the channel
      • EyePulp joined the channel
      • baudehlo
        Squeebee: do you have libiconv-dev installed? (I'm not sure if you need that, but maybe)
      • DoubleMalt joined the channel
      • DoubleMalt has quit
      • EyePulp joined the channel
      • Squeebee
        Does Haraka need Node 6? I may have more luck with the older release.
      • EyePulp
        Squeebee: It doesn't require v6 to my knowledge. I think it works with some pretty old releases.
      • Squeebee
        Ok thanks!
      • EyePulp
        Squeebee: though if you can use 6.x, life is better under es6 (not for haraka necessarily, but for any new code you need to write =)
      • Squeebee
        Good to know, thanks EyePulp!
      • baudehlo
        Yeah we support v0.10 - v6
      • Squeebee
        Ok, while I play with this, how would I set everything to route to a specific host/port? I'd like to start by sending everything to smtp-sink so it doesn't go anywhere.
      • baudehlo
        use smtp_forward.
      • Squeebee
        Thank you.
      • baudehlo
        It's in the default config/plugins. Configuration docs are on the web site.
      • Squeebee
        Found it, thanks.
      • And one more to get me started. Does Haraka support multiple outbound IPs, and if so how do I assign a message to its appropriate IP?
      • baudehlo
        Yes, you have to write a custom plugin though, hooking the get_mx hook.
      • Squeebee
        Ok, where do I configure the IPs?
      • baudehlo
        http://haraka.github.io/manual/Outbound.html - scroll down to "The get_mx hook"
      • Basically you have to write some javascript for this. There's no default support for it.
      • Squeebee
        Got it, this gives me enough context to start working it out.
      • Although if anyone has an example of a plugin they wrote to assign IP I wouldn't complain. ;)
      • lnb_ joined the channel
      • lnb_ has quit
      • lnb_ joined the channel
      • bmonty joined the channel
      • Does Haraka log by default or does it require a plugin?
      • baudehlo
        It logs to stdout by default.
      • (which is enough for some people)
      • e.g. I use runit to keep it alive, which loves logging to stdout.
      • Squeebee
        Ok, otherwise I'm seeing log.syslog and log.elastisearch
      • baudehlo
        and for stdout you can add timestamps if you need them.
      • Squeebee
        Good to know, how do I add those?
      • baudehlo
        echo 1 > config/log_timestamps
      • Squeebee
        Thanks!
      • lnb_ joined the channel
      • bmonty has quit
      • Squeebee has quit
      • bmonty joined the channel
      • Squeebee joined the channel
      • Ok I'm wondering how much work this would be: 1) Configure named pools of IPs, each with their own EHLO. 2) Assign a message to a pool (round robin within the pool) based on finding the name of the pool in an X header.
      • baudehlo
        Trivial.
      • Don't even need an X-header. just use transaction.notes which is the same as hmail.todo.notes
      • Squeebee
        Any chance of an example of that while I dig through the manual?
      • Ok, so transaction notes lets me store the name of the IP pool I want, and I'd populate it by grabbing transaction.header, then remove the header?
      • baudehlo
        You need to be clearer on what you're trying to achieve.
      • You want the sender to define the outbound IP?
      • Squeebee
        Ok, let's say I want to send transactional mail and newsletters, and that for transactional I have a pool named (oddly enough) "transactional" and the newsletters are named "newsletters". In the transactional pool is 192.168.1.10 and 192.168.1.20 and they have helo of mta1.foo.com and mta2.foo.com. In the newsletter pool is 192.168.2.10 and 192.168.2.20 and they have helo of mta1.bar.com and mta2.bar.com. I want to assign injected messages to transaction
      • Ultimately that may scale to hundreds of IPs in tens of pools, so getting it into a conf file is desirable.
      • baudehlo
        Right but how should Haraka know which mail is which?
      • By From? By connecting IP?
      • Squeebee
        Because the individual messages have a header called X-Pool (in this example) with the name of the pool to assign to.
      • baudehlo
        OK, so just store that in transaction.notes
      • then in the get_mx hook just look at hmail.todo.notes.whatever_key_you_picked
      • Squeebee
        Aah, so there's no explicit step to pull the header, that auto-populates?
      • baudehlo
        no, you put that in your plugin.
      • in hook_data_post
      • Squeebee
        Ok. So 1) Pull header content, stick it in notes, delete header. 2) Take pool name, assign it to pool. and I assum 0) Read a config file, store array of IPs with helo?
      • baudehlo
        yup
      • Squeebee
        Time to learn JavaScript then. I'll give it a go.
      • Do any of the existing plugins have bits and pieces of this to use as examples? (Reading and storing a conf, headers to notes, IP assignment)?
      • baudehlo
        reading config is done by just about every plugin.
      • it's really easy.
      • the rest is all pretty simple frankly.
      • Squeebee
        Well then I'll give it a go.
      • dopesong joined the channel
      • lnb__ joined the channel
      • lnb joined the channel
      • lnb__ has quit
      • lnb__ joined the channel
      • lnb joined the channel
      • lnb has quit
      • lnb joined the channel