[php]mail(); existante , test si envoi possib
GC
-
GC -
GC -
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 :
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 :
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
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
A voir également:
- [php]mail(); existante , test si envoi possib
- Test performance pc - Guide
- Steam deck oled test - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test composant pc - Guide
- Programmer envoi mail gmail - Guide
4 réponses
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')'.
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')'.
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
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
<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
Je me sert de cette fonction depuis 2 ans sur free sans jamais avoir atteint le quotat.</oups>
GC
je viens d'effectuer quelques test avec :
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
<?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