Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[php]mail(); existante , test si envoi possib

GC, le vendredi 8 février 2008 à 15:19:56
Bonjour,

J'ai un script d'envoi de mail pour un formulaire de contact.

Dans le cas ou la fonction mail est active le mail part sans encombre a partir d'un hebergement , en local le mail ne part pas , mais cela n'est pas le probleme. En effet je cherche a tester si le mail() peut-etre envoyé si la fonction mail est activé.
Sans serveur smtp configuré , cela ne peut pas partir , mais un test avec :
if (function_exists('mail')) {
    echo ' <u>Pour infos :</u> <b style="color:green">La fonction mail est active</b> sur le serveur</p>';
} else {
    echo ' <u>Pour infos :</u> <b style="color:red">La fonction mail est inactive</b> sur le serveur</p>';
}


Le test ne m'indiquera rien de plus pertinent pour l'usage que je souhaite faire de ce test.

En effet
Ce script est configurable en ligne pour le webmaster :

message personnalisé en fonctions du déroulement du script etc ...
Il s'agit en fait d'un plugin de formulaire de contact pour un petit cms: pluxml , que je souhaite améliorié.

Dans la configuration du script , 2 options sont proposés , une copie local du message et la possibilité de proposé le lien mailto si l'envoi du mail a echoué . (marre du spam , je ne souhaite pas mettre en dur le mailto dans les page du site mais le proposé uniquement aprés l'envoi du message par le formulaire si le webmaster le souhaite , la copie peut suffire.

En local et sur free le code suivant me retourne une erreur seulement si la fonction mail() n'existe pas :
if (@mail('','','')) {echo ' <u>Pour infos :</u> <b style="color:green">La fonction mail semble active</b> sur le serveur</p>';} 
else { echo ' <u>Pour infos :</u> <b style="color:red">La fonction mail semble inactive</b> sur le serveur</p>';


Trés bien , sauf que sur d'autre hebergement , et cela semble logique , j'ai une erreur en retour , les champs des differentes variables sont vides .

Je cherche donc la possibilité de tester la faisabilité de l'envoi d'un mail en sachant que la fonction mail existe bel et bien sans envoyer de mail . (inutile de s'envoyer un mail de test a chaque fois qu'on ouvre la page de configuration).

Je ne sais pas non plus tester la presence d'un serveur SMTP , ni si il y a des restriction sur cette fonction mail() par l'hebergeur.

Quelqu'un a t-il d'autre pistes ou des solutions plus propres ?

Merci a tous ceux qui m'ont lu jusqu'ici :)

<ps> grr , c'est quoi ce code anti spam ? case sensitive ou pas ?

GC
Configuration: Windows XP
Firefox 2.0.0.11 / IE 5.5 - 6 -7 / opera 9 / safari 3 win , ...
Répondre à GC  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dalida, le vendredi 8 février 2008 à 17:46:24
salut,

je ne comprend pas très bien…

chez Free la fonction 'mail()' doit être désactivée.

par contre je suis étonné que les autres hébergeurs te renvoie une erreur sur '@mail()' puisque l'arobase doit rendre la fonction "silencieuse" en cas d'erreur.

pour 'mail()' sans envoi réel, je l'ai vu passer mais je ne me rappelle plus…

enfin si tu veux connaître les paramètres SMTP du serveur tu dois pouvoir y accéder par 'ini_get('SMTP')'.


[ Mathieu ]
« On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007.
Répondre à Dalida

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
GC, le vendredi 8 février 2008 à 17:57:01
bonjour, merci de la réponse ,

chez free la fonction mail() est active , mais le nombre de mail est limité dans le temps (200 je crois par semaine) .

En effet , l'@ cache le message d'erreur si il y a , par contre la condition me renvoit en echo , l'un ou l'autre des messages préetabli en echo .

Sur free le @mail('','',''); ne provoque pas d'erreur et m'affiche donc la :'fonction mail semble active' . Sur un autre hebergeur , une erreur survient , même si la fonction mail est active et que les messages peuvent partir sans souci . En fait cette façon de tester n'est pas trés propre.

Je vais regardé du coté de ini_get('SMTP') , voir si je peut , ou soulever une erreur ou en tirer des infos utilisables .

merci :)

GC
Répondre à GC

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
GC, le vendredi 8 février 2008 à 18:00:29
<oups> heu , je voulais plutot dire pour free un quotat de 2000 mail / semaine , selon mes dernieres infos qui datent d'une année environ .
Je me sert de cette fonction depuis 2 ans sur free sans jamais avoir atteint le quotat.</oups>

GC
Répondre à GC

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 GC, le vendredi 8 février 2008 à 18:34:17
je viens d'effectuer quelques test avec :

<?php echo 'display_errors   = ' . ini_get('display_errors') ; ?>


en local et sur free , j'ai une erreur en retour

sur un serveur kimsuffi , rien du tout .

Je n'ai pas tester plus loin que ça , Free semble etre l'intrus (test sur envoi de mail avec mail() verifié il y a quelque minutes ) il me renvoit une erreur , leur config doit-etre particuliere ou ils utilise un autre type de serveur . Je n'y connais rien en terme d'envoie de mail , ça se limite a mes programmes de mail et la fonction mail() de php , je n'ai jamais chercher a configurer un serveur pour cela.

Cette solution plus propre , demande donc a etre creuser un peu plus , si seulement free renvoit une erreur du a une configuration particuliere , on peut faire usage de ce test en filtrant le domaine free.fr et lui servir le mail() vide de variables .

Mais , si il faut filtrer plusieurs autre cas possible , ce n'est plus une solution envisageable , un test qui n'est pas fiable devient vite inutile a mon avis.

voila j'ai le sentiment d'avoir quand même fait un pas :)

GC
Répondre à GC
Avis et test sur la MSI N9800GT-T2D1G-OC. (Résolu)Bonjour, je voudrais avoir un avis, un test si c possible sur la Nvidia ==MSI N9800GT-T2D1G-OC== si c'est une bonne carte graphique. Parce que je n'est pas beaucoup vue de teste sur cette carte graphique MSI. Merci de répondre et de... www.commentcamarche.net/forum/affich-8796165-avis-et-test-sur-la-msi-n9800gt-t2d1g-oc
Tester si un string est un entier (Résolu)Bonjour, je suis opposé à un petit problème en java: Je voudrais tester si une chaine de caractères est un entier. Il existe bien par exemple isNaN en javascript ou encore isdigitt en C, mais existe-t-il une fonction similaire en Java ?? J'ai... www.commentcamarche.net/forum/affich-1989308-tester-si-un-string-est-un-entier
[PHP] Tester si un nombre premier (Résolu)Bonjour, J’essai de programmer une page php dans la quel se trouve un formulaire (zone texte + bouton submit) pour tester si un nombre entrer dans la zone texte est premier ou non et afficher le résultat dans la même page. voici le code:... www.commentcamarche.net/forum/affich-6757381-php-tester-si-un-nombre-premier
Comment vérifier si mon antivirus est actif ?Le test Si vous avez des doutes sur le fait que votre antivirus soit actif, il vous suffit de télécharger le fichier suivant: http://www.eicar.org/download/eicar_com.zip Si votre antivirus bloque le téléchargement et vous affiche une alerte,... www.commentcamarche.net/faq/sujet-6131-comment-verifier-si-mon-antivirus-est-actif
[DOM] et tester si un attribut existe (Résolu)Bonjour, j'ai un noeud de mon abre DOM qui a plusieurs attributs,et j'aimerai tester si un attribut en particulier existe-t-il une fonction comme hasAttributes(), mais qui prendrais un attribut donné en parametre ? Dans le meme style... www.commentcamarche.net/forum/affich-6583533-dom-et-tester-si-un-attribut-existe
EXCEL: VBA pour tester si la ligne comporte u (Résolu)Bonjour, Comment peut-on tester si une ligne comporte au moins 1 cellule avec une couleur de fond autre que le blanc ? Merci www.commentcamarche.net/forum/affich-6289337-excel-vba-pour-tester-si-la-ligne-comporte-u
Testé si combobox est selectionné vb6 (Résolu)Bonjour, je voudrais savoir comment testé si ma combobox multicolonne (form 2.0) est sélectionné ou pas j'ai essayé comme ceci: If macombobox.List(macombobox.ListIndex) "" Then ... mais j'ai une erreur : "Impossible de lire la propriété... www.commentcamarche.net/forum/affich-5303842-teste-si-combobox-est-selectionne-vb6
PHP - Les structures conditionnelles On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1 et false à 0). Ces structures conditionnelles... www.commentcamarche.net/php/phpcond.php3
Perl - Structures conditionnelles On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent suivant la réalisation de la condition, on appelle... www.commentcamarche.net/perl/perlcond.php3
Java - Structures conditionnelles On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent suivant la réalisation de la condition, on appelle... www.commentcamarche.net/java/javacond.php3
Toutes les réponses pour « [php]mail(); existante , test si envoi possib »