2010-12-13 5 views
0

comme le titre que je créé une forme simple en HTMLfonction php mail ne travaillant sur le serveur local et non pas sur le serveur distant

vous pouvez le voir à http://thee-l.comuv.com/send.php cela envoie un courriel à moi avec le sujet et le corps de texte spécifié Je lance ceci sur localhost depuis Apache et je reçois dans ma boîte de réception en moins d'une minute mais je l'envoie ensuite sur le serveur distant du site et il ne m'envoie pas du tout

J'ai une adresse Gmail pour le faire facile J'ai fait un serveur smtp sortant avec smtp2go c'était mon premier email envoyé par php, j'étais vraiment heureux et ai immédiatement mis sur le serveur à distance et nous sommes ici

J'utilise 000webhost

ici est mon code

<?php 
if ($_POST['submit']){ 
ini_set("SMTP", "smtp2go.com"); 
ini_set("smtp_port", 2525); 
$to = "[email protected]"; 
$subj = $_POST['topic']; 
$body = $_POST['message']; 
$header = "From: [email protected]"; 
if (mail($to, $subj, $body, $header)) 
{ 
echo "Message sent successfully"; 
} 
else 
{ 
echo "Message sent unsuccessfully"; 
} 
} 
else 
{ 
echo "<html> 
<form method=\"post\" action=\"send.php\"> 
Topic: <br/><input type=\"text\" name=\"topic\"/><br/> 
Message: <br/><textarea name=\"message\"></textarea><br/> 
<input type=\"submit\" value=\"Send\" name=\"submit\"/> 
</form> 
</html>"; 
} 

?> 
+0

Pourriez-vous fournir le code? Il y a une multitude de raisons pour lesquelles cela peut arriver. – Trufa

Répondre

0

Vérifiez votre hébergement web politiques de l'entreprise sur le courrier sortant. Il peut y avoir une limite quotidienne, une interdiction pure et simple, ou il peut s'agir d'un service supplémentaire que vous devez demander. Presque toutes les sociétés d'hébergement font quelque chose pour limiter l'utilisation de la fonction send() pour empêcher les spammeurs de profiter de leurs serveurs.

+0

Première chose à laquelle j'ai pensé aussi. J'ai vérifié, cependant, et 000webhost mentionne explicitement l'autorisation de 'mail()'. Vous avez raison de dire qu'il a peut-être atteint une limite pendant les tests, mais il donne l'impression que cela n'a jamais fonctionné sur son hébergeur. – AgentConundrum

+1

Je me souviens quand je testais une fonction mail() pour quelque chose que j'ai accidentellement écrit une boucle infinie dans le script. C'est une bonne chose que je m'envoyais des courriels. J'ai reçu environ 500 courriels environ une minute avant que le script ne cesse de fonctionner pour le reste du mois. – Computerish

1

J'ai essayé de cliquer sur votre lien, mais apparemment votre site web est en cours de révision (peut-être pour trop de mailing/suspects de spamming à cause de vos tests?). Même dans ce cas, un lien vers une page .php ne nous montrera pas le code, puisque le serveur l'exécutera et n'enverra que le résultat au navigateur. Il est préférable de copier/coller votre code dans la question.

En outre, comme l'a dit @Computerish, il se peut que vous ayez juste atteint une limite sur votre hôte. Combien de fois avez-vous exécuté votre code mail() aujourd'hui?

+0

Je me suis envoyé 4 fois puis essayé sur le serveur le smtp2go me permet de faire 10 par jour –

+0

@Luck: Pourriez-vous copier le code dans votre question? Il peut y avoir un problème avec le bouclage de code ou quelque chose qui vous fait dépasser les limites, ou peut-être un autre problème. Il est difficile de le comprendre sans voir exactement ce qu'il fait. – AgentConundrum

Questions connexes