Fonction mail()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fonction mail()

par Ultiny » 15 avr. 2006, 18:53

Ah oui mais ya aussi le SMTP service de IIS, ça doit être de là que sort la dll.

par jpaul » 13 avr. 2006, 21:20

Si tu as mis :

Code : Tout sélectionner

SMTP = localhost smtp_port = 25
il faut que ton localhost soit en écoute sur le port 25.
Très peu de machines windows ont un serveur qui sache faire ça (répondre aux réquêtes entrantes sur le port 25).

C'est la raison pour laquelle Erazer te conseille de mettre le server smtp de ton provider : c'est le server qui est configuré pour envoyer le courrier dans le logiciel qui te permet de lire et envoyer des mails. Tu reçois les mails avec le protocol pop (ou peut être Imap) sur un serveur et tu en envoies avec le protocol smtp. Attention souvent les serveurs pour l'envoi et pour la réception sont différents. C'est celui qui est utilisé pour l"envoi (smtp) qu'il faurt mettre dans to php.ini pour remplacer localhost (en face de SMTP=).
Pour cette histoire de sendmail.dll, je ne sais pas ce qu'il en est : moi je n'ai pas de sendmail.dll sur ma machine et elle envoie ses mails sans problèmes en utilisant un serveur sendmail distant (celui du provider).

par Ultiny » 13 avr. 2006, 20:15

Peut-être que ça dépend d'un autre paramêtre. Peut-être que sous windows il est sencé la trouver tout seul et que dans certains cas il échou? Je sais pas enfin le principal est que ça fonctionne au final.

par Erazer » 12 avr. 2006, 11:16

ha oui, merci Ultiny!

Néanmoins et curieusement je n'ai fait cette opération alors que l'envoie d'email fonctionne. curieux ...

par Ultiny » 12 avr. 2006, 01:50

# 28/03/2006 de ttrkc
Pour envoyer un e-mail via php installé sous Windows, il faut spécifier le chemin du fichier sendmail.dll de Windows qui se trouve à l'adresse >> c:/windows/system32.
Dans le Fichier php.ini, à la ligne
sendmail_path = c:/windows/system32.
Dès lors qu'il est spécifié "For UNIX only" !!!
Ce contre-temps m'aura coûté une journée de recherche !
http://www.asp-php.net/tutorial/asp-php ... 4&resum=no

par Erazer » 11 avr. 2006, 17:57

ne prête pas attention à cette ligne, ce n'est valable que pour linux.

tu n'as pas un log quelque part qui peut t'indiquer plus?


genre dans le gestionaire d'évènement?

par betman » 11 avr. 2006, 17:53

bah nan,

surtout que je ne trouve nul part le fichier sendmail.dll dans mon répertoire php.

Donc la ligne dans php.ini

sendmail_path est vierge.

par Erazer » 11 avr. 2006, 17:44

bien on est d'accord pour le smtp.

mais ça ne fonctionne toujours pas je présume?

par betman » 11 avr. 2006, 16:55

bah tu mets le doigts sur une verrue :)

Ke truc c'est que je suis en local, et je ne vois pas trop quoi indiqué à la place du smtp de mon provider :/

par Erazer » 11 avr. 2006, 16:47

je ne suis pas plus sûr, essaie de modifier le smtp (dans le php.ini) pour mettre celui de ton provider?


J'avais raté la ligne ou ton serveur smtp était bien configuré. :)

Fonction mail()

par betman » 11 avr. 2006, 16:39

Bonjour à tous,

Bon, j'ai lu pas mal de tuto et de post sur ce sujet mais je ne trouve pas d'expliquation pour mon cas.

J'utilise php5 avec un serveur IIS sous win 2003 server.

Mon serveur virtuel smtp est apparemement bien configuré.

Mon php.ini, j'ai des doutes

Donc mon problème est que : je n'arrive pas à envoyer de mail!!!


Le bout de code de mon php.ini

Code : Tout sélectionner

[mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. sendmail_from = ****@****.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters =
et le bout de code que je test pour l'envoi :
<?php
$to = "*****@*****.fr";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
if (mail($to, $subject, $body)) {
  echo("<p>Message successfully sent!</p>");
 } else {
  echo("<p>Message delivery failed...</p>");
 }
?> 
pour tester ce code j'ai une page test avec un formulaire et un submit avec en action la page contenant le code php ci-dessus.

Si vous avez une idée je suis preneur