Io invece ci sono riuscito.
Il trucco è quello di indicare l'utilizzo del protocollo TLS1.2 prima di tentare l'invio.
Un esempio di codice:
# variabili
$PECSMTP_username = "username@pec.dominio.it"
$PECSMTP_password = "password"
$PECSMTP_fromAddress = "indirizzo@pec.dominio.it"
$PECSMTP_server = "smtps.pec.aruba.it"
$PECSMTP_port = 587
$mail_to = "destinatario@pec.dominio.it"
$mail_subject = "oggetto"
$mail_body = "corpo della mail"
$attachment = "[url dell'allegato]"
# imposto l'utilizzo della connessione TLS 1.2
[System.Net.ServicePointManager]::SecurityProtocol = 'Tls,TLS11,TLS12'
# generazione della password
$mail_password = $PECSMTP_password | ConvertTo-SecureString -asPlainText -Force
# generazione delle credenziali
$credential = New-Object System.Management.Automation.PSCredential($PECSMTP_username, $mail_password)
# invio della mail
$returnSendTry = Send-MailMessage -from $PECSMTP_fromAddress `
-to $mail_to `
-subject "$mail_subject" `
-body $mail_body `
-smtpServer $PECSMTP_server `
-Port $PECSMTP_port `
-UseSsl `
-Attachments $attachment `
-Credential $credential `
-ErrorVariable returnVar
Da notare l'utilizzo della porta 587, che accetta le connessioni in ingresso (la 465 no).
Nessun commento:
Posta un commento