questo che segue è il codice che sto utilizzando al momento e che (per ora) funziona regolarmente
Codice PHP:
// Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'tuo.smtps';
$mail->SMTPAuth = true;
$mail->Username = $pecMittente;
$mail->Password = $pwd;
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->XMailer = 'xmailer_che_hoscelto';
$mail->setLanguage('it', '/language/');
$mail->setFrom($pecMittente, 'Nome PEC Mittente');
$mail->addAddress($pecDestinatario);
// Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = "$oggettoPec";
$mail->Body = "$messaggio";
$mail->send();
prova a confrontare con il tuo codice, io lo utilizzo in modo molto passivo, con questi pochi parametri a me funziona, non sono mai andato troppo a fondo, sia per necessità che per capacità (lo ammetto)