Seleziona una pagina

Se vi siete imbattuti in questo errore durante la configurazione dell’account SMTP su CMS Magento 2 vi indichiamo una possibile soluzione.

Could not open socket: stream_socket_client(): Peer certificate CN=*.domain.ext' did not match expected CN=smtp.domain.ext’

File da modificare

in base alla versione di Magento il file da modificare varia, quindi dovrete fare delle prove prima di identificarlo tra questi due.

/vendor/magento/zendframework1/library/Zend/Mail/Protocol/Abstract.php

/ vendor/zendframework/zend-mail/src/Protocol/AbstractProtocol.php

Caso 1

Nel primo caso alla riga #267 dovrete rimuovere la @, da così:

$this->_socket = @stream_socket_client($remote, $errorNum, $errorStr, self::TIMEOUT_CONNECTION);

a così:

$this->_socket = stream_socket_client($remote, $errorNum, $errorStr, self::TIMEOUT_CONNECTION);

Inoltre se utilizzate un certificato SSL Self Signed, commentate la riga #267 e aggiungete quanto segue appena sotto:

$ctx = stream_context_create(['ssl' => [
            'verify_peer'      => false,
            'verify_peer_name' => false
        ]]);
$this->_socket = stream_socket_client($remote, $errorNum, $errorStr, self::TIMEOUT_CONNECTION, STREAM_CLIENT_CONNECT, $ctx);

Caso 2

Commentate la riga #213 e aggiungete subito sotto il seguente codice:

$contextOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false ) );

Lasciate un commento se siete riusciti a risolvere o avete bisogno di assistenza.