Based on the logs provided, the core issue is that your server restricts the proc_open() function, which JohnCMS currently uses to send emails via the system's local mailer.
To fix this, you should switch from the local mailer to SMTP and move email processing to a Cron job.
Open config/constants.php and set USE_CRON to true
Switch the Mail Driver to SMTP
You need to create a local configuration file to override the default mail settings. Create a new file at config/autoload/mail.local.php and paste the following code, replacing the placeholder values with your actual SMTP server details:
<?php
return [
'mail' => [
// Set default transport to smtp
'transport' => 'smtp',
// SMTP Transport settings
'options' => [
'smtp' => [
'name' => 'example.com', // Your domain name
'host' => 'smtp.example.com', // Your SMTP server address
'username' => 'mail@example.com', // Your email login
'password' => 'your_password', // Your email password
'port' => 465, // Port (usually 465 for SSL or 587 for TLS)
'encryption' => 'ssl', // Encryption type (ssl or tls)
],
],
],
];