fonction mail, champ from

Le
Laurent
Bonjour le monde !

Voilà, j'utilise un script php sur mon serveur web perso (apache/w32),
couplé avec mon serveur smtp perso, permettant aux gens qui passent de
m'envoyer un mail (le to: est donc en dur, c'est le from: qui est saisi
dans le formulaire).

Seulement, systematiquement, le from transmis au serveur smtp est
me@localhost.com, malgré le fait que le bon from est passé en paramètre
de la fonction mail.

1) est-ce normal ?
2) si oui, comment contourner ça ?

merci !
Laurent.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicklas
Le #569533
Le Tue, 06 Apr 2004 18:06:05 +0000, Laurent a écrit :

Bonjour le monde !

Voilà, j'utilise un script php sur mon serveur web perso (apache/w32),
couplé avec mon serveur smtp perso, permettant aux gens qui passent de
m'envoyer un mail (le to: est donc en dur, c'est le from: qui est saisi
dans le formulaire).

Seulement, systematiquement, le from transmis au serveur smtp est
, malgré le fait que le bon from est passé en paramètre
de la fonction mail.

1) est-ce normal ?
2) si oui, comment contourner ça ?


Il y a 2 choses, le champ From (tu peux le vérifier dans le
header de ton mail, en affichant les sources de ton mail à
l'aide de ton lecteur de mail) ET il y a le Return-Path.

Je te donne le lien d'une petite lib...

http://www.progweb.com/modules/cours/consult.php?own=4&numR

Elle te fera gagner du temps (j'espère).

--
Nicklas
ProgWeb - Développer son site Internet
http://www.progweb.com

Laurent
Le #569307
In article says...
Il y a 2 choses, le champ From (tu peux le vérifier dans le
header de ton mail, en affichant les sources de ton mail à
l'aide de ton lecteur de mail) ET il y a le Return-Path.
Tu veux dire que c'est le return-path qui est présenté au serveur smtp,

et pas le from ?

Elle te fera gagner du temps (j'espère).
je vais regarder ça de plus près :o)


merci!

Thibaut Allender
Le #569305

Tu veux dire que c'est le return-path qui est présenté au serveur smtp,
et pas le from ?


oui, mais le probleme est ailleurs.

voir php.ini :

[mail function]
; For Win32 only.
SMTP = localhost

; For Win32 only.
sendmail_from =

deja tu peux le changer la
ensuite, pour avoir un "From" valide, il faut utiliser le header "From:
" et non "from: " comme tu l'indiques dans ton premier post

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org

Laurent
Le #569127
Dans l'article disait...
; For Win32 only.
sendmail_from =
deja tu peux le changer la
vu que je voudrais que le from varie en fonction du visiteur... ça ne

servira pas à grand chose :)

ensuite, pour avoir un "From" valide, il faut utiliser le header "From:
" et non "from: " comme tu l'indiques dans ton premier post
oups, c'est en recopiant que j'ai changé la casse... dans le script,

c'est ok :

$headers= "From: $fromrn";
.../...
$res = mail($sendto, $subject, $body, $headers);

mais c'est toujours qui est présenté au smtp.

J'explique quand même à quoi à ça servirait : le message en question
arrive sur une boite qui permet une inscription et qui répond
automatiquement à l'adresse indiqué dans le From saisi. Si je n'ai pas
de réponse en retour, je ne m'occupe pas du mail reçu via mon
formulaire.
Or là, la réponse automatique ne peut pas se faire, vu l'adresse passée.

Qu'en est-il du return-path ? faut-il que je le positione aussi ? est-ce
que la fonction mail l'accepte ?

merci...
Laurent.

Thibaut Allender
Le #569126

vu que je voudrais que le from varie en fonction du visiteur... ça ne
servira pas à grand chose :)


je te l'accorde ;)

$res = mail($sendto, $subject, $body, $headers);

mais c'est toujours qui est présenté au smtp.


tu peux ajouter un 5e parametre pour modifier le return-path, cf la doc :
http://be.php.net/manual/fr/function.mail.php

" Avec le cinquième paramètre, vous pouvez ajouter d'autres paramètres
de ligne de commande qui seront utilisés par le programme d'envoi de
courrier. Dans l'exemple ci-dessous, l'en-tête Return-Path est
correctement paramétré. Normalement, sendmail ajoute automatiquement
l'en-tête X-Authentication-Warning (paramètre -f), car l'utilisateur
"serveur web" n'est probablement pas un de ses utilisateurs de confiance
("trusted users"). Pour supprimer cette alerte, ajoutez l'utilisateur du
serveur web dans la configuration de sendmail."

reste a voir si ca fonctionne sous windows... c'est pas du tout sur, vu
que ca ne fait qu'ajouter un parametre a la commande
sendmail qui est balancee lors de l'envoi du mail

Qu'en est-il du return-path ? faut-il que je le positione aussi ? est-ce
que la fonction mail l'accepte ?


voir ci-dessus, mais ca ne semble pas gagné sous windows :/

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org

Guillaume Brocker
Le #569125
Laurent wrote:
Voilà, j'utilise un script php sur mon serveur web perso (apache/w32),
couplé avec mon serveur smtp perso, permettant aux gens qui passent de
m'envoyer un mail (le to: est donc en dur, c'est le from: qui est saisi
dans le formulaire).

Seulement, systematiquement, le from transmis au serveur smtp est
, malgré le fait que le bon from est passé en paramètre
de la fonction mail.

1) est-ce normal ?


Sous windows, la fonction _mail_ n'est pas très souple d'utilisation et
ne couvre pas l'ensemble des fonctionnalités de SMTP.

2) si oui, comment contourner ça ?


Je recommande plutôt d'utiliser le module PEAR s'appellant *Mail*. Il
me semble qu'il est installé par défaut dans les dernières version de
PHP. Il m'a permis d'émettre des mails à partir d'un server apache
tournant sur une machine Windows 2000.

Voir le lien ci-dessous:

--
Guillaume Brocker

Nicklas
Le #569123
Le Wed, 07 Apr 2004 08:32:37 +0000, Laurent a écrit :

In article says...
Il y a 2 choses, le champ From (tu peux le vérifier dans le
header de ton mail, en affichant les sources de ton mail à
l'aide de ton lecteur de mail) ET il y a le Return-Path.
Tu veux dire que c'est le return-path qui est présenté au serveur smtp,

et pas le from ?

Elle te fera gagner du temps (j'espère).
je vais regarder ça de plus près :o)



Le Return-Path est le "vrai" "From".
Je m'explique, c'est ce dont le serveur prend en compte.
Le "From", c'est juste ce que le visiteur voit en recevant
le mail dans son logiciel de messagerie.

Lorsqu'un mail n'arrive pas à destination (le champ To est
erroné ou le mail indiqué n'existe pas), le mail sera renvoyé
à l'adresse indiquée par le Return-Path.

Normalement, il est indispensable de préciser sa valeur.
Il a souvent une valeur par défaut.

--
Nicklas
ProgWeb - Développer son site Internet
http://www.progweb.com


Laurent
Le #572805
In article says...
Seulement, systematiquement, le from transmis au serveur smtp est
, malgré le fait que le bon from est passé en paramètre
de la fonction mail.
Pour info:

Quelque soit le librairie utilisé, c'est sytématiquement
qui était transmis en "MAIL FROM:" au serveur smtp.
J'ai donc utilisé une fonction socket_mail, trouvé sur je ne sais plus
quel site, et qui attaque directement mon serveur smtp en passant les
bon paramètres.
Du coup, ça marche très bien.

Merci à tous pour vos réponses !
:o)
Laurent.

Publicité
Poster une réponse
Anonyme