Envio de Email [RESOLVIDO]

Estava tendo problemas ao utilizar a macro “sc_mail_send” o pessoal do scriptcase fez uma atualização e incluiu a opção de SSL e para min funcionou perfeitamente, porem, sem nenhuma explicação essa semana parou de funcionar e apresentou o erro:

stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
stream_socket_client(): Failed to enable crypto
stream_socket_client(): unable to connect to ssl://smtp.gmail.com:465 (Unknown error)

Alguém sabe me explicar pq ?

Abs

O certificado do servidor que ele esta conectando não é válido.
Desative está verificação colocando os parâmetros na macro.

Tente usar esta configuração:

// TESTE 1
$_smtp=‘smtp.gmail.com’;
$_usr=‘seu e_mail@gmail.com’;
$_psw=‘senha_gmail’;
$_de=‘seu e_mail@gmail.com’;
$_assunto=‘Assunto’;
$_tmsg=‘H’;
$_destino=‘destinatario do_email@uol.com.br’;
$_ecopia=’’;
$_tcopia=’’;
$_porta=‘465’;
$_tconexao=‘S’;

sc_mail_send($_smtp, $_usr, $_psw, $_de, $_destino, $_assunto, $_mensagem, $_tmsg, $_ecopia, $_tcopia, $_porta, $_tconexao, ‘’);

Tentei dessa forma e não deu certo, estava colocando $mail_ssl = ‘SSL’ depois do do tipo de conexão e funcionou, porem agora parou de funcionar.

Acho que está havendo uma compreensão errada sobre a configuração do SSL. No webhelp do SC diz:

SSL Parâmetro para adição das configurações de SSL. Caso seja necessário adicionar mais de uma configuração, use “;” para separá-las. Ex: $ssl = ‘allow_self_signed=false;verify_peer=false’;

http://www.scriptcase.com.br/docs/pt_br/v81/manual_mp.htm#macros-scriptcase/macros-scriptcase

OBS: Para utilização de conexão segura, a extensão do PHP “php_openssl” deverá estar habilitada.

Isto que eu quis dizer: Mexer nos parâmetros

fiz exatamente igual

// TESTE 1
$_smtp=‘smtp.gmail.com’;
$_usr=‘contato@colorvip.com.br’;
$_psw=‘XXXXXX;
$_de=‘contato@colorvip.com.br’;
$_assunto=‘Assunto’;
$_mensagem=‘TESTE DE ENVIO’;
$_tmsg=‘H’;
$_destino=‘andre@colorvip.com.br’;
$_ecopia=’’;
$_tcopia=’’;
$_porta=‘465’;
$_tconexao=‘S’;

sc_mail_send($_smtp, $_usr, $_psw, $_de, $_destino, $_assunto, $_mensagem, $_tmsg, $_ecopia, $_tcopia, $_porta, $_tconexao, ‘’);

if ({sc_mail_ok})
{
echo “foiiii”;
}
else
{
sc_erro_mensagem({sc_mail_erro});
}

e o erro foi o mesmo

stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
stream_socket_client(): Failed to enable crypto
stream_socket_client(): unable to connect to ssl://smtp.gmail.com:465 (Unknown error)

Também tentei setar os parâmetros de SSL e o erro continua.

$mail_ssl = “verify_peer=false;verify_peer_name=false”;

sc_mail_send($mail_smtp_server,
$mail_smtp_user,
$mail_smtp_pass,
$mail_from,
$mail_to,
$mail_subject,
$mail_message,
$mail_format,
‘’,
‘’,
‘465’,
‘S’,
‘’,
$mail_ssl
);

Obs: php_openssl está habilitado no php.ini

Acabei de descobrir o erro, o avast está bloqueando a porta, desabilitei o avast e funcionou perfeitamente.

Obrigado a todos