A 20 MB file is a 27 MB email.
Email can only carry text, so attachments are rewritten as Base64: every 3 bytes become 4 characters, plus a line break every 76. Providers measure the finished message, not your file. Pick a file and this page builds the real message in your browser and measures it.
This is the real MIME message built from your file (RFC 2045 and 2046), the same structure your mail app sends. Download it as .eml and it opens in Apple Mail, Outlook or Thunderbird with the attachment intact.
Gmail and Outlook refuse files that can run code, judged by the extension, and Gmail also looks inside ZIP archives. Type a name, or attach a ZIP above and every file inside is checked.