Email wont send - all emails are now Connection timed out and stuck in queue

No. 587 is the submission port, used by your clients to send mail to you. It is usually authenticated.

You have no control over the rest of the world, and to the rest of the world SMTP is port 25. If you don’t have port 25, you don’t have a mail server. You’ll have to use a relay. Some cloud providers allow incoming but not outgoing, in which case you could receive mail with this VM, but would need a relay to send, but I think all the majors block both in and out.

For my VMs and containers in Google Cloud or AWS, I usually use Mailgun as my relay. It’s cheap(ish), and works well. But, there are many other options: Amazon SES, Sendgrid, Mailjet, etc. Many to choose from.