Retrieving mail that was sent when didn't have MX records
I currently point a domain to a server using an A record but I don't have MX records set up. Is there a way to still get mail that failed to send to email addresses that use this domain?
If there is no MX record, SMTP servers will fall back to the A record.
If there was no A record, the mail would probably bounce immediately, with a DNS misconfiguration error.
If you had an A record set up, pointing presumably to your web host, then any mail servers would have attempted to send your mail to the web host.
If the web host has an SMTP server running, it would have accepted the connection, seen it was for a domain for which it was not configured to accept mail, then rejected it. If the sending mail servers follow RFC, they would have then bounced the messages back to the original server--making them irretrievable by you.
If the web host did not have an SMTP server running, then the sending mail servers would have failed to connect, and "deferred" the mail in their local queue, for a while--typically at least 4 hours, sometimes up to a week or more, depending on local configuration. During that time, it would continue to re-try delivery, and if after that time, it still failed, it would have bounced the messages, making them irretrievable. Any messages still in the queue when you finally set up an MX record would be properly delivered to the MX record on the next retry.
So... the short answer is: No, there's nothing you can do about it now, but if there was no mail server running at your web host, some of the mail may still be sent successfully automatically.
No.
Well, you could get everyone to resend it, but other than that, no. You might luck out and have a bunch of those mailservers attempting to retry the messages, but more likely, those messages were sent, they failed, and that's about it.