rocks Posted September 18, 2021 at 05:56 PM Report Share #623832 Posted September 18, 2021 at 05:56 PM (edited) Boa tarde a todos, Estou a desenvolver uma aplicação web e uma das funções era o envio de emails apos submeter um form. Funciona tudo muito bem em localhost mas ao passar para um servidor sempre que tento enviar o email é dado erro SMTP -> ERROR: Failed to connect to server: Connection timed out (110) The following From address failed: xxx@iscte-iul.pt : Called Mail() without being connected function smtpmailer($para, $de, $de_nome, $replyto , $cc ,$assunto, $corpo) { global $error; $mail = new PHPMailer(); $mail->CharSet = 'UTF-8'; $mail->IsSMTP(); // Ativar SMTP $mail->SMTPDebug = 1; // Debugar: 1 = erros e mensagens, 2 = mensagens apenas $mail->SMTPAuth = true; // Autenticação ativada $mail->SMTPSecure = 'tls'; //$mail->SMTPSecure = 'TLS'; $mail->Host = 'smtp.office365.com'; // SMTP utilizado $mail->Port = 587; // A porta 587 deverá estar aberta em seu servidor $mail->Username = GUSER; $mail->Password = GPWD; $mail->SetFrom($de, $de_nome); $mail->AddReplyTo($replyto, $de_nome); $mail->AddCC($cc, $de_nome); $mail->Subject = $assunto; $mail->Body = $corpo; $mail->AddAddress($para); if (!$mail->Send()) { $error = 'Mail error: ' . $mail->ErrorInfo; return false; } else { $error = 'Mensagem enviada!'; return true; } } O que poderá causar este erro. Poderá ser permissoes ? Obrigado a todos Edited September 19, 2021 at 05:33 PM by rocks Link to comment Share on other sites More sharing options...
Ivo Vicente Posted September 19, 2021 at 04:28 PM Report Share #623835 Posted September 19, 2021 at 04:28 PM (edited) Viva Se funciona em modo de desenvolvimento, e não em produção, é possível que o servidor onde está alojado esteja a bloquear a comunicação, tens que questionar a empresa do alojamento. Esta ideia vem da resposta do servidor ser um timeout na comunicação. Também pode ser necessário adicionar o IP da aplicação no servidor de email para autorizar a ligação. Não sei mais detalhes, porque o código diz Gmail e o SMTP aponta para o office365, são serviços diferentes. Se poderes esclarecer também era bom. Edited September 19, 2021 at 04:29 PM by Ivo Vicente 1 Report Feito é melhor que perfeito Link to comment Share on other sites More sharing options...
rocks Posted September 19, 2021 at 05:53 PM Author Report Share #623836 Posted September 19, 2021 at 05:53 PM 1 hora atrás, Ivo Vicente disse: Viva Se funciona em modo de desenvolvimento, e não em produção, é possível que o servidor onde está alojado esteja a bloquear a comunicação, tens que questionar a empresa do alojamento. Esta ideia vem da resposta do servidor ser um timeout na comunicação. Também pode ser necessário adicionar o IP da aplicação no servidor de email para autorizar a ligação. Não sei mais detalhes, porque o código diz Gmail e o SMTP aponta para o office365, são serviços diferentes. Se poderes esclarecer também era bom. Eu tirei o exemplo de gmail mas adaptei para office365. include("PHPMailer/class.phpmailer.php"); define('GUSER', 'rmmio@iscte-iul.pt'); // define('GPWD', $pw); // Pois acredito que o problema seja a comunicação com o servidor pois em localhost funciona tudo na boa. mas nem sei bem o que tenho de pedir para ser permitido. Link to comment Share on other sites More sharing options...
Ivo Vicente Posted September 19, 2021 at 06:13 PM Report Share #623837 Posted September 19, 2021 at 06:13 PM Podes começar por questionar a empresa de alojamento se for uma empresa ou neste caso se for um trabalho da Universidade (vi pelo endereço) alojada num servidor da universidade questionas o departamento responsável. Em ambos os casos podem estar a bloquear essa porta, não é usual mas acontece. 1 Report Feito é melhor que perfeito Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now