Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

email direct, cronjobs different

3 réponses
Avatar
Y a personne
Bonjour,

lorsque j'envoie un email via ma page web fichier .php avec la fonction
mail() via mon serveur dédié j'ai bien l'adresse indiqué dans le 'de' du
mail de réception.

Mais si j'envoie le même email (même script php) via le cronjobs, je
reçois le mail avec le 'de' correcte mais en plus j'ai 'expéditeur' qui
apparait avec comme valeur mon DNS, ce qui est bizarre.

Avez-vous une explication/solution ?

merci

3 réponses

Avatar
Olivier Miakinen
Bonjour,

Le 27/11/2009 16:40, Y a personne a écrit :

lorsque j'envoie un email via ma page web fichier .php avec la fonction
mail() via mon serveur dédié j'ai bien l'adresse indiqué dans le 'de' du
mail de réception.



Je suppose qu'il s'agit du champ « From: ».

Mais si j'envoie le même email (même script php) via le cronjobs, je
reçois le mail avec le 'de' correcte mais en plus j'ai 'expéditeur' qui
apparait avec comme valeur mon DNS, ce qui est bizarre.



Là je suppose que c'est le champ « Sender: ».

Avez-vous une explication/solution ?



Est-ce que la remarque suivante correspond à ton cas ?
http://fr2.php.net/manual/fr/function.mail.php#92528

Si oui, alors jette un coup d'½il à la doc du paramètre
additional_parameters de la fonction mail().

Voir peut-être aussi :
http://fr2.php.net/manual/fr/mail.configuration.php#ini.sendmail-from

Cordialement,
--
Olivier Miakinen
Avatar
Y a personne
Olivier Miakinen a écrit :
Bonjour,

Le 27/11/2009 16:40, Y a personne a écrit :
lorsque j'envoie un email via ma page web fichier .php avec la fonction
mail() via mon serveur dédié j'ai bien l'adresse indiqué dans le 'de' du
mail de réception.



Je suppose qu'il s'agit du champ « From: ».

Mais si j'envoie le même email (même script php) via le cronjobs, je
reçois le mail avec le 'de' correcte mais en plus j'ai 'expéditeur' qui
apparait avec comme valeur mon DNS, ce qui est bizarre.



Là je suppose que c'est le champ « Sender: ».

Avez-vous une explication/solution ?



Est-ce que la remarque suivante correspond à ton cas ?
http://fr2.php.net/manual/fr/function.mail.php#92528

Si oui, alors jette un coup d'½il à la doc du paramètre
additional_parameters de la fonction mail().

Voir peut-être aussi :
http://fr2.php.net/manual/fr/mail.configuration.php#ini.sendmail-from

Cordialement,



Pour être franc, je n'ai pas tout compris au liens que tu m'as donnés.
J'ai testé avec Sender, -f... idem.
j'ai voulu mettre ini_set('sendmail_from', '....') mais ça fonctionne
que sous Windows (mon serveur est sous Linux php 4.4).

En fait, ce n'est pas mon ip qui est comme valeur pour expéditeur mais
l'adresse email par défaut du compte.

La ligne expéditeur apparait uniquement si j'envoie à partir du cronjobs.

je suppose que je dois modifier une valeur quelques part sur mon serveur
(pour ce compte) ou mettre un paramètre dans un .htaccess mais quoi.

merci de votre aide.
Avatar
Olivier Miakinen
Le 29/11/2009 00:58, Y a personne a écrit :

Pour être franc, je n'ai pas tout compris au liens que tu m'as donnés.
J'ai testé avec Sender, -f... idem.



C'est bien « sendmail » la commande qui est appelée ? Quand tu dis que
tu as testé avec « -f... », quel paramètre as-tu passé exactement ?
Il faudrait aussi savoir sous quel utilisateur tu es dans chacun des
deux cas, car d'après un « man sendmail » trouvé sur le web tous n'ont
pas le droit de le positionner.

<cit. http://www.sendmail.org/~ca/email/man/sendmail.html>
-fname Sets the name of the ``from'' person (i.e., the sender of the
mail). -f can only be used by ``trusted'' users (normally
root, daemon, and network) or if the person you are trying to
become is the same as the person you are.


</cit.>

En fait, ce n'est pas mon ip qui est comme valeur pour expéditeur mais
l'adresse email par défaut du compte.

La ligne expéditeur apparait uniquement si j'envoie à partir du cronjobs.



Peut-être que l'utilisateur propriétaire du serveur web n'a pas
d'adresse de courriel, et que l'utilisateur propriétaire du cronjob
en a une ?

En résumé, il faudrait savoir :
- quelle ligne de commande est exécutée dans chacun des deux cas ?
- quel utilisateur l'exécute dans chacun des deux cas ?
- que se passe-t-il si tu fais la même chose à la main ?

Note que cela n'a plus trop à voir avec PHP, mais bon, il est possible
aussi que je me trompe et que le problème soit ailleurs (mais je n'y
crois pas trop).

Cordialement,
--
Olivier Miakinen