PDA

View Full Version : |Tutorial| Fix envio de Emails MuSite



Mentor
03/08/2015, 12:44 AM
Achei esse tutorial na net feito pelo o gubsmartins e decidir trazer para PerfectZone.

Bom pessoal, não sei se o problema ocorre com todas as hospedagens, mas pode acontecer nas hipóteses de tentativa recuperar senha ou no cadastro de novas contas do MuSite, ao tentar enviar o Email ao player aparecer a mensagem para tentar novamente mais tarde, ou algum tipo de erro que impeça que o Email chegue ao usuário mesmo tudo estando configurado corretamente em sua settings.

Para o problema encontrei uma solução simples porém requer algum conhecimento ou familiaridade com PHP e não se esqueça, sempre faça o backup antes de modificar qualquer arquivo. Nos arquivos do MuSite que fazem o envio de Email (que podem ser encontrados na pasta modules/classes), são eles: ldrecovery.class.php, ldregister.class.php, pressione CTRL+F e encontre o seguinte código (que pode aparecer mais de uma vez em cada um desses arquivos):

$mail->IsSMTP();
Em seguida, abaixo dele, adicione o seguinte código:

/* fix email send */
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true;
Para que a correção funcione, substitua os arquivos (também dentro da pasta modules/classes) phpmailer.class.php e smtp.class.php, ambos disponíveis no GitHub, ou se preferir utilize os que deixarei no final deste tópico. Feito isso, e muito provavelmente, o envio de Emails do MuSite volta a funcionar perfeitamente.

GitHub PHPMailer: [Only registered and activated users can see links]
phpmailer.class.php: [Only registered and activated users can see links]
smtp.class.php: [Only registered and activated users can see links]

ATENÇÃO: SE UTILIZAR OS ARQUIVOS: class.phpmailer.php E class.smtp.php DISPONÍVEIS NO SITE DO DESENVOLVEDOR NÃO SE ESQUEÇA DE RENOMEÁ-LOS PARA O NOME CORRETO (IGUAL AOS DA PASTA MODULES/CLASSES) E DE FICAR ATENTO DE FECHAR NO FINAL DESSES ARQUIVOS A TAG DO PHP "?>" QUE POR ALGUM MOTIVO NÃO ESTÁ LÁ.

Créditos:
gubsmartins

daniellk
03/08/2015, 10:35 AM
boa mentor vai ajuda muito

jhonhy™
03/08/2015, 11:37 AM
Nunca tive problema com isso, tenho quase 100% de certeza que esse ERRO é falta de configuração do adm e de informações concretas do host do servidor SMTP correto.

Mentor
03/08/2015, 12:16 PM
@jhonhy™ na época que usava musite também nunca tive esses problemas, mais achei esse tuto na net e decidir postar para ver se isso ajuda a quem tem esse tipo de problema, mas geralmente o problema está em configurações erradas como você bem citou.

djdiego
03/08/2015, 07:12 PM
como vocês estão falando que pode ser erro de configuração então, o que estou errando?
Já testei tando com o gmail

$Config_SMTP['Server'] = "ssl://smtp.gmail.com"; //Servidor SMTP
$Config_SMTP['Port'] = 465; //Porta do servidor SMTP
[Only registered and activated users can see links]
$Config_SMTP['Password'] = "minha senha"; //Senha Servidor
$Config_SMTP['Debug'] = false; //Debug (Apenas para usuários avançados)
[Only registered and activated users can see links]
$Config_SMTP['LimitTime'] = 0; //Tempo em minutos entre cada requisição para envio de emails por login.

e tambem com yahoo

$Config_SMTP['Server'] = "smtp.mail.yahoo.com.br"; //Servidor SMTP
$Config_SMTP['Port'] = 25; //Porta do servidor SMTP
[Only registered and activated users can see links]
$Config_SMTP['Password'] = "minha senha"; //Senha Servidor
$Config_SMTP['Debug'] = false; //Debug (Apenas para usuários avançados)
[Only registered and activated users can see links]
$Config_SMTP['LimitTime'] = 0; //Tempo em minutos entre cada requisição para envio de emails por login.


e também com o da propria hospedagem
Antes que comentem que esta errado o smtp
[Only registered and activated users can see links]


$Config_SMTP['Server'] = "mail.muphandora.com"; //Servidor SMTP
$Config_SMTP['Port'] = 25; //Porta do servidor SMTP
[Only registered and activated users can see links]
$Config_SMTP['Password'] = "minha senha"; //Senha Servidor
$Config_SMTP['Debug'] = false; //Debug (Apenas para usuários avançados)
[Only registered and activated users can see links]
$Config_SMTP['LimitTime'] = 0; //Tempo em minutos entre cada requisição para envio de emails por login.

[Only registered and activated users can see links]

o que estou errando?
Preciso Ativar algo na hospedagem para poder funcionar?, que eu me lembro não teria...