OVH Community, votre nouvel espace communautaire.

Fonction mail() ne marche pas ?


pesoft
18/08/2009, 10h16
Hum...je ne pense pas que tu sois sur le bon forum pour obtenir de l'aide, ici c'est du mutualisé avec les fonctions d'envoi de mail sont gérées par OVH. Si tu as un problème qMail il vaut mieux demander sur d'autres forums.

Citation Envoyé par ben74
bonjour, j'ai un kimsufi L
depuis plusieurs jours les sites n'envoient plus aucun email
j'ai tenté maintes fois de relancer le service qmail, rien à faire .. le plus genant est la récupération de mot de passe qui bloquent des personnes

ben74
18/08/2009, 10h07
bonjour, j'ai un kimsufi L
depuis plusieurs jours les sites n'envoient plus aucun email
j'ai tenté maintes fois de relancer le service qmail, rien à faire .. le plus genant est la récupération de mot de passe qui bloquent des personnes

Askell
20/02/2008, 20h57
Bonjour olom.

Si ça peut aider :
Le problème que j'avais venais uniquement de l'ordi sur lequel je faisais les tests. Les codes proposés fonctionnent très bien. Seulement, étant connecté derrière une livebox j'étais soumis aux restrictions du routeur. Ou alors d'Orange, je ne sais pas très bien ... Toujours est-il que sur le serveur OVH je n'ai pas de problèmes.

Pour ce qui est des garantis de réception de mails, je ne peux rien affirmer. Il m'est arrivé que des mails n'arrivent pas. Mais dans l'ensemble tout se passe bien. Par précaution, je conserve quand même une trace des mails importants dans des fichiers textes sur le serveur.

Je n'en sais pas beaucoup plus. Ca répond à la question ?

olom49
20/02/2008, 17h20
Bonjour,
J'ai également le même problème.
J'ai suivi cette discussion et il semble qu'OVH ne garantit pas une grande fiabilité sur les délais de réception des emails avec la fonction mail().
Mais est-on tout de même garantit que l'email sera bien reçu ?

Je ne sais pas si je suis très clair. En tout cas, si vous avez des infos je suis preneur.

Askell
21/11/2007, 19h36
Bonjour,

Comme j'ai le problème que vous, j'ai tenté d'utiliser vos solutions.
Seulement je dois être stupide : je n'arrive pas à envoyer de mails.

J'ai repris je code en espagnol qui correspond tout à fait à ce que je veux, mais la connection au serveur SMTP ne se fait pas. J'utilise les serveurs de Laposte.net. C'est le post qui ne convient pas ou bien ?

Seb117
30/10/2007, 20h36
probleme reglé, scritp effectivement foireux!!

@++

Seb117
29/10/2007, 12h31
J'ai egalement ce probleme, mais peut etre cela vient-t-il du formulaire que j'utilise : http://www.unesourisetmoi.info/formulaires/page2.php

Car malgré le faite que je ne puisse envoyer aucun mail, ou en recevoir, le script ne m'affiche aucune erreur, ou aucun autres commentaire quelqu'il soit...

Le lien donné plus haut fait exactement la même chose, sauf qu'il plante au bout d'un moment !

Comme puis-je reelement tester la fonction mail() de mon 90plan, et dans un autre but, ou puisje trouver un formulaire qui fonctionne ?

merci de vos reponses...

Extrait du formulaire en question :


// N'afficher que les erreurs, pas les avertissements...
ini_set("error_reporting", "E_ALL & ~E_NOTICE");

// Adresse de réception du formulaire
$email_dest = "inscriptions@geek-polo.com";

if ($_POST['envoi']) {

// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: Geekpolo\n";


$headers .="Content-Type: text/html; charset=iso-8859-1 \n";

$subject = "Inscriptions";

$partie_entete = "


";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "
";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "
";
}

if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "
";
$partie_zone_texte = stripslashes($partie_zone_texte);
}

$fin = "";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;

// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} else { // Closing if !mail...

// Renvoi à la page de remerciement
header("Location:index.php?page=inscriptionsucces" );
exit();

} // Fin du else
} // Closing if edit
?>






























Prénom
Nom
Adresse
Ville
Code postal
Email
Comment vous nous avez connu ?









phear
22/06/2007, 17h09
tout pareil avec la fonction mail() sur un 90plan : les mails arrivent bien à destination mais avec un délai très très long. parfois c'est instantané, parfois c'est plusieurs heures j'ai pourtant vérifié dans la console d'admin que les mails sont bien partis et non erreur.
ça ne fait pas très sérieux quand les utilisateurs s'inscrivent sur un site et qu'on leur dit qu'un mail d'activation vient de leur être envoyé. forcémment ils doivent attendre une journée avant d'utiliser le site.

djtecno
20/05/2007, 19h36
moi j'ai trouvé la solution, j'héberge ma page formulaire sur ovh comme ça les gens sont sur ovh et donc mon adresse en .org mais j'utilise la fonction mail() de free car j'ai un compte chez eux (avant mon site était chez eux).

izzyway
13/04/2007, 22h49
J'ai finalement trouver une solution en passant par gmail et en m'appuyant sur l'exemple donné par cette page http://www.buayacorp.com/archivos/phpmailer-con-gmail/ (c'est de l'espagnol mais même moi qui ne le parle pas, j'ai compris).

Il faut télécharger une version modifiée de PHPMailer pour qu'elle prenne en compte le SSL/TLS. Ca fonctionne très bien.

J'avais bien un Warning lors de l'execution mais en ajoutant un @ à la ligne indiquée par le warning le problème c'est réglé.

Par contre les mails arrivent avec le @gmail.com, j'aurais préféré qu'il arrive avec le nom de mon domaine... mais l'avantage c'est que cela fonctionne avec toutes les messageries que j'ai pus tester.

BertrandB
10/04/2007, 20h52
Citation Envoyé par izzyway
Je viens de tester ce code, ca fonctionne plutot bien avec gmail.com mais malheureusement pas avec hotmail.com (en tout cas pas avec mon compte). J'imagine que ca vient des serveurs mails d'hotmail qui bloquent quelque part mais c'est tout de même ennuyant (au final, je pense que j'ai le même problème en passant par le serveur ovh).
en décomentant la ligne du debug on obtient des informations en général pertinentes.
Une solution alternative est de systématiquement passer par un serveur smtp permettant la connexion avec identifiant + mot de passe. Par exemple ouvrir un compte sur laposte.net contrainte FROM doit contenir l'adresse mail correspondant au compte. J'ai essayé ça marche.

izzyway
10/04/2007, 20h40
Je viens de tester ce code, ca fonctionne plutot bien avec gmail.com mais malheureusement pas avec hotmail.com (en tout cas pas avec mon compte). J'imagine que ca vient des serveurs mails d'hotmail qui bloquent quelque part mais c'est tout de même ennuyant (au final, je pense que j'ai le même problème en passant par le serveur ovh).

BertrandB
09/04/2007, 18h02
Citation Envoyé par kharak
peut on utiliser autre chose que la fonction mail()
Oui on peut utiliser phpmailer en mode smtp (c'est d'ailleurs la seule solution en Demo1G) et au lieu de s'appuyer sur le serveur de mail d'OVH s'adresser directement au MX du destinataire.

exemple de ce que j'utilse pour un formulaire de réponse.
Code:
SetLanguage('fr');
//$mail->SMTPDebug=true;
$mail->Mailer   = "smtp";

//on renseigne le sujet
//To do exiger la saisie du sujet
$mail->Subject=$_POST['sujet'];
//SI l'adresse est présente on la renseigne
if($_POST['adresse']) $mail->From=$_POST['adresse'];
$mail->FromName=$_POST['nom'];


//On remplit le corps du message
$sauter=array('nom','adresse','sujet','Action');
$mail->Body    ="PHPmailer\n";
while (list($key, $val) = each($_POST)) {
  if(!in_array($key,$sauter)) $mail->Body .= "$key : $val\n";
}

//on rajoute l'adresse d'envoi
$Address='xxxxx@wanadoo.fr';
$mail->AddAddress($Address);
// que l'on adressera direcement au MX TODO rechercher automatiquement le MX
$mail->Host=getMX($Address);
   if(!$mail->Send())
        echo "There has been a mail error sending to ";

?>

izzyway
06/04/2007, 11h18
J'ai investi dans un 90Plan récemment, pensant que je pourrais faire tout ce que je voulais avec. Résultat: heureusement que je dispose d'un serveur à coté sinon mon site web n'aurait pas lieu d'etre. Impossible de faire des daemons, le wget bloqué, l'envoi de mail alternatif.... je suis très décu.

La réponse est donc 90 PLAN (pour résumer).

cbleu
05/04/2007, 19h38
Citation Envoyé par izzyway
De mon coté ca ne fonctionne toujours pas correctement. C'est un peu alternatif (ca marche, ca marche pas).
sur quel hébergement ?

izzyway
05/04/2007, 11h35
De mon coté ca ne fonctionne toujours pas correctement. C'est un peu alternatif (ca marche, ca marche pas).

cbleu
13/03/2007, 07h33
Citation Envoyé par cbleu
Moi non plus ça ne marche pas sur un media-plan...
c'est vraiement pas pro de la part d'OVH.

loic
voici un mail du support OVH :
>Bonjour,
>
> un souci interne a été resolu , pouvez vous me confirmer en tentant a nouveau d'envoyer un email svp ?
>
> Cordialement, Gilles
------------------------------------
OVH reconnaisse avoir résolu "un soucis interne".

Pour moi ça fonctionne maintenant, avec un délai de 10 à 15 mn (test vers 06h30 du matin) et peut être plus de délai dans la journée...

En espérant que ce problème soit résolu sur toutes les hébergement mutualisés pro...

Loïc

Kira Yamato
12/03/2007, 08h39
Citation Envoyé par pesoft
la réponse d'OVH sera que les hébergements "plan" vu le faible cout pensuel ne sont pas des solution "pro" et que se sont les serveurs dédiés qui le sont.

pour moi la solution est de gérer soi-même les envois à condition que le serveur sur lequel ton plan est hébergé n'empêche pas cela.

Surtout qu'en plus on obtient pas les messages d'erreurs des e-mail qui ont été refusés ou mis en attente pour tentetive ultérieure.
Sauf que c'est une application php qui reçoit les "dons" et transmet en email les données.

Maintenant j'ai du m'amuser à créée une solution de fortune (implémentation dans une table sql histoire de pas perdre de trace, mais je trouve quand même scandaleux, vu le prix qu'on paye...)

cbleu
11/03/2007, 12h44
Moi non plus ça ne marche pas sur un media-plan...
c'est vraiement pas pro de la part d'OVH.

loic

pesoft
11/03/2007, 10h58
la réponse d'OVH sera que les hébergements "plan" vu le faible cout pensuel ne sont pas des solution "pro" et que se sont les serveurs dédiés qui le sont.

pour moi la solution est de gérer soi-même les envois à condition que le serveur sur lequel ton plan est hébergé n'empêche pas cela.

Surtout qu'en plus on obtient pas les messages d'erreurs des e-mail qui ont été refusés ou mis en attente pour tentetive ultérieure.

Kira Yamato
10/03/2007, 20h19
Pareille, je viens de testé la fonction mail() sur mon 90gp et c'est HS.

Je fais comment pour que mon service compta reçoivent les dons si ils ne reçoivent même pas les emails...?

Inacceptable pour une solution pro !

pesoft
10/03/2007, 10h29
En solution extrême je pense qu'il est possible de gérer l'envoi SMTP en ouvrant directement un socket vers le domaine destinataire (sauf si OVH a bloqué cette commande vers un port 25), il faut pour cela récupérer le (les MX), se connecter sur le premier qui répond dans la liste et lui balancer les commandes SMTP qui vont bien . Pour ceux qui n'ont aucune idée de ce que c'est, ça ressemble à ça, bien sur du coup il faut aussi gérer soi-même le code de retour de chaque commande, en particulier les codes 4xx et 5xx qui sont des erreurs :

ehlo xxx
mail from:
rcpt to:
data
...
...
...

kharak
10/03/2007, 01h21
meme avec les fonction imap ? en passant directement pas le smtp de notre site ?
car mise à part le porb de mail par rapport a un site , je recois et envoie sans prob mes mails avec le client de mail classic ....

amadeus
09/03/2007, 19h18
Citation Envoyé par kharak
Il y a t il une possibilité de contourner ce problème , ce que je veux dire , peut on utiliser autre chose que la fonction mail() ??? où nous aurions plus de garantie que cela marche ??
Impossible de contourner, aucune garantie.

kharak
09/03/2007, 19h03
Citation Envoyé par pesoft
Il arrive parfois que leur serveur de mail part en sucette, résultat un gfros spool qui peut mettre plusieurs jours à se résorber, et comme en plus on ne reçoit pas les mails retournés en erreur on ne sait pas du tout ce qui se passe.
Il y a t il une possibilité de contourner ce problème , ce que je veux dire , peut on utiliser autre chose que la fonction mail() ??? où nous aurions plus de garantie que cela marche ??

pesoft
09/03/2007, 11h23
Il arrive parfois que leur serveur de mail part en sucette, résultat un gfros spool qui peut mettre plusieurs jours à se résorber, et comme en plus on ne reçoit pas les mails retournés en erreur on ne sait pas du tout ce qui se passe.

On peut leurt demander au coup-par-coup la liste des mails reçus en erreur mais bien sur cela n'est pas une solution professionnelle du tout, c'est du bricolage.

akliweb
08/03/2007, 14h56
J'ai un 90 Plan...
Pour moi non plus, ça ne marche pas. Je ne reçois rien. Le script a déjà été testé sur un autre hébergement et fonctionnait très bien.
d'ailleurs la fonction mail() renvoie true. mais je ne reçois rien sur aucun de mes comptes emails (de fournisseurs différents).
Y'a pas de message d'erreur. Peut-être qu'il faut attendre plusieurs heures (ou jours?) pour que ça arrive... ça fait déjà plus de 3 heures ...

pesoft
28/12/2006, 14h43
Pareil pour moi (90Plan) aucun mail n'arrive !

stephh
26/12/2006, 16h49
toujours des soucis avec mail() ?

je suis sur un 300gp.
le mail ne part pas toujours, mais j'ai IE qui mouline jusqu'au time out

macrocreation
29/11/2006, 23h19
la fnction marche sur mon 60gp. va sur les liens http://www.macrocreation.com/contactbenin.php et http://www.macrocreation.com/assistant-formulaire1.php. C'est ces scripts que j'ai utilisé sur mon site. Envoi moi ton adresse et je t'envoie le code tout fait et bien commenté.

amadeus
28/10/2006, 13h03
Je viens de faire un test depuis un de mes hébergements (un 90Plan) et ca fonctionne.

Bon le mail à mis 10 minutes alors qu'il devrait mettre 10 secondes mais ca passe.

inko
28/10/2006, 13h01
Réponse de la hotline :

Bonjour,

cette fonction est désactivée sur les demo1g, afin d'éviter les abus. Elle est disponible sur tous nos autres hébergements, autre que 20gp (qui ne supporte pas php).


Merci pour la réponse ... au moins, on est fixé !

InK0

amadeus
28/10/2006, 12h53
Les serveur ont un peu de mal en ce moment (enfin un peu ... tout est en rade).

Raison invoquée : augmentation du spam (en gros doublement des mails depuis un mois), seule solution : attendre ou changer d'hébergeur.

inko
28/10/2006, 11h59
Idem ! Même problème !
Je me demande si la fonction mail() ne serait pas désactivée ?

InK0

benjik
06/10/2006, 03h17
On peut envoyer un message à celui qui est l'envoyeur ? Normalement oui je pense.

Le $subject n'est pas initialisé, ce n'est pas le problème ? Il faut peut-être mettre au moins "".

Sinon le reste me paraît parfaitement correct, ce n'est pas le PHP qui est en cause.

bitu
26/09/2006, 11h21
J'ai exactement le meme problème.
Aucun message d'erreur ne s'affiche mais les mails ne partent pas.

Quelqu'un a une idée ?

quanou
08/11/2005, 11h15
Bonjour tout le monde,
Je suis un total débutant en php. Et ca fait qq temps maintenant que je lutte sur un pb.
J'ai créé le script suivant qui est le plus simple possible.
message_test.php
Code:
(avec toto... mon adresse mail bien sur)

Ce script hébergé chez FREE fonctionne parfaitement.
Chez OVH, ca marche pas. J'ai souscrit à l'offre 90plan qui permet le PHP pourtant.
Mais d'ailleurs, quand on fait ca, sur quel SMTP s'appuie la fonction mail() ?
Même une page avec du code tout simple ne marche pas. S'agit-il d'une mauvaise implémentation de ma part, ou faut-il que je me renseigne auprès d'OVH ?
Merci pour votre aide