Exception:
System.EmailException: SendEmail failed. First exception on row 0; first error: NO_SINGLE_MAIL_PERMISSION, Single email is not enabled for your organization or profile.: [] Exception or Error
This exception is thrown when the Email Deliverability is not set to All email.
So, to fix the issue, go to Discoverability in Salesforce Setup and set the Access level to “All email”.