Email is hard enough to send from regular servers, let alone your laptop at home (if that is where you are sending from.) The problem is email filters and you could be getting filtered either by your ISP (outgoing on port 25) or by your email provider (incoming.) Some email providers won’t let anything through that originates from a known dynamic IP. Other providers just don’t let anything through at all without jumping through a bunch of hoops (Hotmail.)
One strategy to pretty well defeat these problems is to use a relay service and then configure your app to send out via the SMTP settings on that service. One example is authsmtp.com. Unfortunately they limit the amount of email you can send out in one day (depending on the account level) as well as other limits. For certain apps it should work just fine though.
On my main server I can’t reach anything without setting up things like SPF and reverse DNS records. Different providers even require different strategies. By using a relay service you get to piggy-back on their trust level.
Edit: Actually, trust should not be a problem sending from your ISP either, except for blocking dyamic IPs. Make sure your ISP is not blocking outgoing from port 25. If they are, try setting the outgoing mail to use their SMTP settings (username, password.)