haraka / Haraka

A fast, highly extensible, and event driven SMTP server
https://haraka.github.io
MIT License
4.91k stars 653 forks source link

Custom tx.notes.outbound_helo not working #3362

Closed analogic closed 1 month ago

analogic commented 1 month ago

It took me a while to find this bug. Outbound IP works fine, but HELO/EHLO does not

There is this code: https://github.com/haraka/Haraka/blob/f4cc2a61dc3b55b919451a010d5b2fee063e9728/outbound/hmail.js#L296-L303

But as bind_helo is already set here https://github.com/haraka/haraka-net-utils/blob/577087b08c770919c2477378162f9971ab454295/lib/HarakaMx.js#L28-L32

there is no way to set up a custom EHLO.

msimerson commented 1 month ago

there is no way to set up a custom EHLO.

Aren't you able to set bind_helo in get_mx? Isn't that what the docs are saying to do? What is the use case for setting it in a transaction note? See https://github.com/haraka/Haraka/pull/2911 for related background.

msimerson commented 1 month ago

Thinking out loud: I may not have completely fixed #2911 yet. If mx.bind is set, it's probably necessary in try_delivery to check the IP family of the mx.bind value and the IP family of mx.exchange. If they aren't the same, log a skip message and try the next MX.

analogic commented 1 month ago

(I admit it's kind of against recommendation, but hey, it works and I'm also testing it automatically, so no harm if it stops working and I have to go the "get_mx" way)

3363 Fix this, thanks!