Hello Jamal and thank you for getting in touch!
I have tried to use ZAP on this lesson but, AFAIK ZAP is lacking the ability to easily change the Host header in requests.
I have set up my machine with ZAP and tried to do this lesson again, I can capture the request for the forgot password email form on ZAP history, I can then right-click and "Open/Resend with Request Editor" and right before the request data (the mail I entered), I can see the Host header (which is almost at the top in Burp), but if I try to change it, ZAP changes it back to the original ip:port value since both WebWolf link in mail has the original ip:port Host header and ZAP history shows the new "modified" request with the original ip:port Host header
I see ZAP is changing the Origin and Referer headers to what I entered, but not the Host header
I have checked on GitHub and it seems to be solvable with some ZAP scripting or some ZAP plugins, here is a link to the discussion
https://github.com/zaproxy/zaproxy/issues/5475
But to me it seems a bit too much work for a quick Host header value change
While in Firefox Dev Tool I managed to change all headers.
I just started FF Tools on the network tab, did a normal request by filling the form, went on FF Tools, right clicked on the request already sent and selected "Edit and Resend".
From there I modified all the headers I had to change and sent the request again, I got a mail on WebWolf with the modified link
Hope this helps.
PVXs