Ok so I think it was my ISP trying real hard to block my mails from localhost. I gave in and setup msmtp with my gmail account as the transport instead of a mail from localhost and it works fine. Thanks for your help.
I have to setup a mail server because my hosting account don't allow me to send over 250 mail/hour.
I have a HP microserver at home and I want to use it to send the mails.
I configured Virtualmin on it and i created the domain example.com in it (I have example.com registered with hosting on my hoster) but when I tried to send mail from outlook, my server send the emails, but gmail mark it as spam