Autor Tópico: [RESOLVIDO]Recuperar senha  (Lida 3426 vezes)

joni morais

  • Avançado
  • ****
  • Mensagens: 250
    • Email
[RESOLVIDO]Recuperar senha
« Online: Outubro 21, 2014, 04:05:44 pm »
Na verdade gostaria de saber se alguém já conseguiu implementar o link "Recuperar senha" no form de Login gerado automaticamente no módulo de segurança. Não consigo de jeito nenhum! Dei uma olhada no tópico do Kleyber http://www.scriptcase.com.br/forum/index.php/topic,8471.msg41348.html#msg41348 e os outros relacionados ao assunto mas não consegui.
Uso SC8 v013 hospedagem linux, MySql, e o e-mail que configurei no módulo de segurança é o do gmail:
Servidor SMT: smtp@gmail.com
Porta SMTP   : 587 (TLS)
Conexão Segura: sim
SMTP Usuário: meulogin@gmail.com
Senha SMTP: (senha do e-mail)
SMTP e-mail: meulogin@gmail.com

A mensagem de erro quado clico no link recuperar senha é: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
stream_socket_client(): Failed to enable crypto
stream_socket_client(): unable to connect to ssl://smtp.gmail.com:587 (Unknown error)

Essa mensagem é gerada apenas no modo de desenvolvimento, no de produção a tela fica em branco.

É possível alguma ajuda?
« Última modificação: Novembro 27, 2014, 11:10:04 am por John L. Santos »
Shared Host Linux;
10.1.13-MariaDB-cll-lve;
SC 8.1.051

John L. Santos

  • Bug Tracker Team
  • Administrator
  • Expert
  • *****
  • Mensagens: 595
    • Email
Re:Recuperar senha
« Responder #1 Online: Outubro 21, 2014, 04:36:16 pm »
Olá,

Experimente colocar a porta 465 e habilitar a opção SSL.


Exemplo:

Os dados requeridos no módulo de segurança são os mesmos utilizados na macro sc_mail_send

--
GMAIL
// Email parameters
$mail_smtp_server = 'smtp.gmail.com';                   // SMTP server name or IP address
$mail_smtp_user = 'me@gmail.com';                       // SMTP user name
$mail_smtp_pass   = '**********';         // SMTP password
$mail_from = 'me@gmail.com';                                // From email
$mail_to          = 'you@gmail.com';                         // To email
$mail_message     = 'Message';                             // Message body
$mail_subject     = 'Subject';                                 // Subject
$mail_format      = 'H';                                           // Message format: (T)ext or (H)tml

// Send email
sc_mail_send(
             $mail_smtp_server,
             $mail_smtp_user,
             $mail_smtp_pass,
             $mail_from,
             $mail_to,
             $mail_subject,
             $mail_message,
             $mail_format,
             '','', '465', 'S');
« Última modificação: Outubro 21, 2014, 04:44:16 pm por John L. Santos »
John L. Santos
NetMake - Soluções em Informática

joni morais

  • Avançado
  • ****
  • Mensagens: 250
    • Email
Re:Recuperar senha
« Responder #2 Online: Outubro 21, 2014, 04:42:43 pm »
Oh Jonh, desculpe a ignorância, mas poderia ser mais específico. Terei de refazer o módulo de segurança ou é na configuração do gmail. Não teria um tutorial especificamente para essa demanda. O manual do SC nesse ponto está muito superficial. Isso é um recurso muito interessante da ferramenta e estou precisando muito disso para disparar meus projetos.
Shared Host Linux;
10.1.13-MariaDB-cll-lve;
SC 8.1.051

joni morais

  • Avançado
  • ****
  • Mensagens: 250
    • Email
Re:Recuperar senha
« Responder #3 Online: Outubro 21, 2014, 04:55:26 pm »
Ok John, estou analisando... 
Shared Host Linux;
10.1.13-MariaDB-cll-lve;
SC 8.1.051

John L. Santos

  • Bug Tracker Team
  • Administrator
  • Expert
  • *****
  • Mensagens: 595
    • Email
Re:Recuperar senha
« Responder #4 Online: Outubro 21, 2014, 05:08:06 pm »
Olha, isso vai depender do tipo de módulo de segurança que você criou. De fato, será um pouco trabalhoso.

Vou te dar duas opções e você analisa qual será a mais viável para corrigir o problema.

1- Caso não tenham sido feitas muitas alterações nas aplicações do módulo de segurança e o mesmo tiver sido criado de modo padrão, você pode apagar todas as aplicações que encontram-se na pasta Security, e limpar ou excluir as tabelas com prefixo sec_. (Lembrando que isso é apenas caso você tenha feito tudo a partir do padrão, sem alterações. Pois, caso tenha outras aplicações na pasta Security, ou outras tabelas com o prefixo sec_, é melhor que faça a opção 2.)

Após isso, você poderá criar um novo módulo de segurança com o tipo escolhido, ou até mesmo usar um perfil caso tenha criado antes. Os dados para contas GMAIL devem ser:

O servidor SMTP:  smtp.gmail.com
Porta SMTP:          465
Conexão Segura: Habilitado (O Gmail é criptografado, portanto faz uso de conexão SSL)
SMTP Usuário:      my@gmail.com
Senha SMTP:        *************
SMTP e-mail:         my@gmail.com



2- Caso você tenha feito muitas alterações nas aplicações e não queira ter o mesmo trabalho novamente, faça uma pesquisa em Projeto -> Pesquisar em Aplicações e pesquise por " sc_mail_send ". Com isso, serão listadas todas as aplicações do seu projeto que utilizam a macro sc_mail_send e assim você poderá encontrar o erro nas aplicações de segurança a partir desta pesquisa.

Isso irá depender do tipo de módulo de segurança que você fez, não irei postar para todos os tipos mas vou colocar para o módulo tipo Grupo que é o mais utilizado.

- app_form_add_users nos métodos PHP send_mail_to_admin e send_mail_to_new_user.
- app_form_edit_users no método PHP send_mail_to_admin.
- app_retrieve_pswd no método PHP send_mail_message.

Então você deve fazer as alterações como foi passado anteriormente.

GMAIL
// Email parameters
$mail_smtp_server = 'smtp.gmail.com';                   // SMTP server name or IP address
$mail_smtp_user = 'me@gmail.com';                       // SMTP user name
$mail_smtp_pass   = '**********';                       // SMTP password
$mail_from = 'me@gmail.com';                                // From email
$mail_to          = 'you@gmail.com';                         // To email
$mail_message     = 'Message';                             // Message body
$mail_subject     = 'Subject';                                 // Subject
$mail_format      = 'H';                                           // Message format: (T)ext or (H)tml

// Send email
sc_mail_send(
             $mail_smtp_server,
             $mail_smtp_user,
             $mail_smtp_pass,
             $mail_from,
             $mail_to,
             $mail_subject,
             $mail_message,
             $mail_format,
             '','', '465', 'S');
« Última modificação: Outubro 21, 2014, 05:20:05 pm por John L. Santos »
John L. Santos
NetMake - Soluções em Informática

joni morais

  • Avançado
  • ****
  • Mensagens: 250
    • Email
Re:[RESOLVIDO] Recuperar senha
« Responder #5 Online: Outubro 22, 2014, 07:47:52 pm »
Depois de muito tentar... Não consegui com o gmail. Estou usando o email do meu host com as configurações sugeridas e tudo ok. consegui até com o do IG,mas o Gmail... No futuro talvez estude melhor esse bendito Google. Por hora, resolvido.
Shared Host Linux;
10.1.13-MariaDB-cll-lve;
SC 8.1.051

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:[RESOLVIDO] Recuperar senha
« Responder #6 Online: Outubro 23, 2014, 07:02:31 am »
Bom dia, se quiser testar mais um parâmetro, apenas verifica se o mesmo e-mail que autentica está no from (de).
se for igual do exemplo me@gmail... se não for testa assim. O Gmail faz essa verificação e caso não esteja igual, considera como phishing

joni morais

  • Avançado
  • ****
  • Mensagens: 250
    • Email
Re:[RESOLVIDO] Recuperar senha
« Responder #7 Online: Novembro 07, 2014, 11:39:03 pm »
Foi mal Rodrigo, até havia visto seu post no mesmo dia, mas esqueci de responder! O email que autentica está n from sim, mas não funcionou. Parece que corrigiram na realese 16, vou verificar e ver se está certinho mesmo, senão boto a boca no mundo!
Shared Host Linux;
10.1.13-MariaDB-cll-lve;
SC 8.1.051

John L. Santos

  • Bug Tracker Team
  • Administrator
  • Expert
  • *****
  • Mensagens: 595
    • Email
Re:[RESOLVIDO] Recuperar senha
« Responder #8 Online: Novembro 20, 2014, 10:50:13 am »
Olá

A correção referente ao problema na recuperação de senha no módulo de segurança, foi para a aplicação enviada por e-mail após o usuário clicar em recuperar senha.
Havia um problema na aplicação, pois mesmo com o usuário informando a nova senha e repetindo-a para confirmação, era exibido um erro em um campo oculto.

"Senha atual exige o mínimo de x caracteres".

Porém, isso ocorria em uma configuração específica do módulo de segurança.

Para o problema que o senhor está enfrentando referente a configuração de e-mail, acredito que deve ser alguma informação incorreta na configuração. Eu mesmo utilizo o Gmail com os parâmetros que citei acima e não encontrei problemas.
Peço que o senhor verifique novamente, ou se desejar, posso fazer um acesso remoto para verificar o problema.
John L. Santos
NetMake - Soluções em Informática

joni morais

  • Avançado
  • ****
  • Mensagens: 250
    • Email
Re:[RESOLVIDO] Recuperar senha
« Responder #9 Online: Novembro 20, 2014, 01:41:35 pm »
Dear John, acabei de testar com o gmail e nada! O erro 500 que gera é o seguinte:

[20-Nov-2014 13:18:07 America/Recife] PHP Fatal error:  Uncaught exception 'Swift_TransportException' with message 'Failed to authenticate on SMTP server with username "xxxxxx" using 2 possible authenticators' in /home/pjtmyscr/public_html/scriptcase/prod/third/swift/classes/Swift/Transport/Esmtp/AuthHandler.php:176
Stack trace:
#0 /home/pjtmyscr/public_html/scriptcase/prod/third/swift/classes/Swift/Transport/EsmtpTransport.php(307): Swift_Transport_Esmtp_AuthHandler->afterEhlo(Object(Swift_SmtpTransport))
#1 /home/pjtmyscr/public_html/scriptcase/prod/third/swift/classes/Swift/Transport/AbstractSmtpTransport.php(124): Swift_Transport_EsmtpTransport->_doHeloCommand()
#2 /home/pjtmyscr/public_html/scriptcase/prod/third/swift/classes/Swift/Mailer.php(79): Swift_Transport_AbstractSmtpTransport->start()
#3 /home/pjtmyscr/public_html/scriptcase/app/ras2/_retrieve_pswd/_retrieve_pswd_apl.php(2101): Swift_Mailer->send(Object(Swift_Message), Array)
#4 /home/pjtmyscr/public_html/scriptcase/app/ras2/_retrieve_pswd/_retrieve_pswd_apl.php(2032): _retrieve_pswd_apl in /home/pjtmyscr/public_html/scriptcase/prod/third/swift/classes/Swift/Transport/Esmtp/AuthHandler.php on line 176



O código do form retrieve pwsd disparado com o click no link recuperar senha do form login é:
/**
 * Send a simple email
 */
// Email parameters
$mail_smtp_server = 'smtp.gmail.com';        // SMTP server name or IP address
$mail_smtp_user = 'xxxxx';                   // SMTP user name
$mail_smtp_pass = '********';         // SMTP password
$mail_from = 'xxxxx';          // From email
$mail_to         = 'yyyyy';        // To email
$mail_message     = $param_message;
$mail_subject     = {lang_subject_mail}; // Message body
$mail_format      = 'H';                       // Message format: (T)ext or (H)tml
// Send email
sc_mail_send($mail_smtp_server,
             $mail_smtp_user,
             $mail_smtp_pass,
             $mail_from,
             $mail_to,
             $mail_subject,
             $mail_message,
             $mail_format,
             '','', '465', 'S');
if ({sc_mail_ok})
{
   sc_alert({lang_mail_sended_ok} );
}
else
{
   sc_erro_mensagem({sc_mail_erro});
}

Um detalhe é que logo após chega em minha caixa uma msg do google:


Recentemente, bloqueamos uma tentativa de login na sua Conta do Google [moraisjsm@gmail.com].
Detalhes da tentativa de login
Data e hora: Quinta-feira, 20 de Novembro de 2014 16H18m UTC
Local: desconhecido

Se não foi você
Revise sua página "Atividade da Conta", em https://security.google.com/settings/security/activity, para verificar se há alguma atividade suspeita. Quem quer que tenha tentado fazer login na sua conta sabe sua senha. Recomendamos que você a troque imediatamente.

Se foi você
Mude para um aplicativo do Google, por exemplo, o Gmail, para acessar sua conta (recomendado) ou altere suas configurações, em https://www.google.com/settings/security/lesssecureapps, para que sua conta não seja mais protegida por padrões modernos de segurança.
Saiba mais em https://support.google.com/accounts/answer/6010255.
Atenciosamente,
equipe das Contas do Google

Caso não consiga desvendar vamos agendar uma liberação ao servidor.

SC8 v018 shared host linux; MariaDB; testado GC cache zerados.
« Última modificação: Março 07, 2015, 11:15:01 am por Moraisjsm »
Shared Host Linux;
10.1.13-MariaDB-cll-lve;
SC 8.1.051

Caio Guerra

  • Administrator
  • Iniciante
  • *****
  • Mensagens: 53
    • Email
Re:Recuperar senha
« Responder #10 Online: Novembro 20, 2014, 03:00:44 pm »
Moraisjsm,

Poderíamos agendar um acesso remoto para amanhã, 21/11, às 09:30 (Horário de Recife)?

Aguardo o retorno.

joni morais

  • Avançado
  • ****
  • Mensagens: 250
    • Email
Re:Recuperar senha
« Responder #11 Online: Novembro 20, 2014, 08:20:10 pm »
Sem problemas. 09:30h ai acredito que seja 10:30h pra mim aqui no RJ. De qualquer modo vou estar ligado desde cedo até o fim do webinar de amanhã. Mandei uma MP com os dados para acesso.
Shared Host Linux;
10.1.13-MariaDB-cll-lve;
SC 8.1.051

Celso R.

  • Expert
  • *****
  • Mensagens: 941
Re:Recuperar senha
« Responder #12 Online: Novembro 20, 2014, 10:11:10 pm »
Não sei se é a mesma situação. Mas ao tentar recuperar a senha dá o seguinte erro:

Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 'Address in mailbox given [] does not comply with RFC 2822, 3.6.2.' in /home/xxxx/public_html/xxxx/_lib/prod/third/swift/classes/Swift/Mime/Headers/MailboxHeader.php:308 Stack trace: #0 /home/xxxx/public_html/xxxx/_lib/prod/third/swift/classes/Swift/Mime/Headers/MailboxHeader.php(238): Swift_Mime_Headers_MailboxHeader->_assertValidAddress('') #1 /home/xxxx/public_html/xxxx/_lib/prod/third/swift/classes/Swift/Mime/Headers/MailboxHeader.php(96): Swift_Mime_Headers_MailboxHeader->normalizeMailboxes(Array) #2 /home/xxxx/public_html/xxxx/_lib/prod/third/swift/classes/Swift/Mime/Headers/MailboxHeader.php(60): Swift_Mime_Headers_MailboxHeader->setNameAddresses(Array) #3 /home/xxxx/public_html/xxxx/_lib/prod/third/swift/classes/Swift/Mime/SimpleMimeEntity.php(581): Swift_Mime_Headers_MailboxHeader->setFieldBodyModel(Array) #4 /home/xxxx/public_html/xxxx/_lib/prod/third/swift/classes/Swift/Mime/SimpleMessage.php(20 in /home/xxxx/public_html/xxxx/_lib/prod/third/swift/classes/Swift/Mime/Headers/MailboxHeader.php on line 308

Não fiz configuração alguma no módulo de segurança estou utilizando ele como default gerado pelo SC V8.
« Última modificação: Novembro 20, 2014, 10:15:08 pm por Celso R. »
Celso R.
________________________________
SC - V 8

Caio Guerra

  • Administrator
  • Iniciante
  • *****
  • Mensagens: 53
    • Email
Re:Recuperar senha
« Responder #13 Online: Novembro 24, 2014, 02:56:52 pm »
Olá Moraisjsm, boa tarde.

Agradeço o envio das informações de acesso ao Cpanel. Porém, antes de mais nada, estamos precisando de acesso remoto ao Scriptcase que está configurado o envio de emails.

Peço que me confirme se é possível, para assim podermos agendá-lo.

joni morais

  • Avançado
  • ****
  • Mensagens: 250
    • Email
Re:Recuperar senha
« Responder #14 Online: Novembro 24, 2014, 03:44:11 pm »
Sem problemas Caio. Enviei outra mp com os dados.
« Última modificação: Novembro 24, 2014, 05:52:33 pm por Moraisjsm »
Shared Host Linux;
10.1.13-MariaDB-cll-lve;
SC 8.1.051