Pergunta

Eu tenho (o que eu acho) é um script simples para enviar uma correspondência curta:

<?php

$to = "test@test.co.uk";

$subject = "Amendment required";
$message = "Employee: " . $_POST['employees'] . "<BR /><BR />Notes: " . $_POST['notes'] . "<BR /><BR />Reported By: " . $_POST['empID'] . ".";
$from = "amendments@test.co.uk";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $from";
mail($to,$subject,$message,$headers);

?>

(Mudei os endereços de e -mail por razões de privacidade)

Quando isso é carregado, após um atraso, recebemos o erro

"Erro fatal: o tempo máximo de execução de 30 segundos excedeu ..." - mas o e -mail é enviado com sucesso.

Estou perdendo algo simples aqui?

Muito obrigado antecipadamente

Leddy

Foi útil?

Solução

Enviando um único e-mail usando mail não deve levar 30 segundos. Nunca. Você deve conversar com o administrador do servidor, a menos que esteja enviando correio para centenas ou milhares de destinatários, ou o e-mail é dezenas de megabytes grandes. Parece, porém, que também não é o caso. Eu acho que o sendmail O comando que o PHP está ligando internamente está demorando muito para responder por algum motivo.

Este é o script completo que você está executando?

Outras dicas

Tente usar set_time_limit(0) Para remover o prazo de execução do PHP. Pode não funcionar corretamente se você tiver o Safe_mode, mas deve funcionar de outra forma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top