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)