Most people imagine that emails are sent immediately in real time. Sadly this is not the case, and there can be a number of points were an email can be delayed. First it could be your internet service provider; some ISPs check incoming mail for virus or malware attachments, and depending on how many other folk are sending emails on the same ISP at the same time this can take quite a time.
Emails can pass through other intermediate mail servers or relays, and these too may cause delays in handing on the mail.
Finally the recipients ISP may also apply virus and malware checks to all incoming mail, and there could also be firewalls in place which will also add delays to the reception of messages.
Delays of several hours or more are not unknown where large numbers of mail are being processed in this way.