Page 1 sur 1

Probleme fonction mail()

Posté : 25 févr. 2011, 12:42
par moi
Bonjour,

j'ai un probleme avec la fonction mail(). Je n'arrive pas a recevoir les mails que j'envoi.
Je travail en local, mon provider est free.
mon code est

Code : Tout sélectionner

$sujet = 'Sujet du mail'; $message = '<html>'; $message = '<head>'; $message = '<title>Message a en html</title>'; $message .= '</head>'; $message .= '<body>'; ../.. tout le message HTML $message .= '</body>'; $message .= '</html> '; $headers = ''; $headers .= 'From: [email protected] \r\n' ; $headers .= 'MIME-Version: 1.0 \r\n'; $headers .= 'Content-type: text/html; charset=utf-8 \r\n'; $headers .= 'to: '.$_POST['email'].' \r\n'; // $headers .= 'return-path: [email protected]'.'\r\n' ; $headers .= 'X-Mailer: PHP/' . phpversion().'\r\n'; // $headers .= 'Reply-To: [email protected]'.'\r\n' ; // $headers .= 'Content-Transfer-Encoding: 8bit \r\n'; // $headers .= '\r\n\r\n.'; $ret=mail($_POST['email'], $sujet, $message, $headers);
le $_POST['email'] est bon, j'ai essayé en "dur", ca ne marche pas mieux. J
'ai esayé de tripatouiller le header dans tous les sens, d'où le commentaires.
j'ai meme modifié les fichiers /etc/php5/apache2/php.ini et /etc/php5/cli/php.ini et mis SMTP = smtp.free.fr
et
sendmail_path = [email protected]
j'ai ajouté

ini_set("SMTP", "smtp.free.fr");
ini_set("sendmail_from ", "[email protected]");
pour en remettre une couche, mais toujours rien dans ma boite a lettre.
Je n'ai pas d'erreur a l'emission, mail() retourne 1. L'emission est vraiment rapide meme instantannée. Evidement, pour les mettre a la poubelle, il ne faut pas longtemps !!!

Je tourne en rond.

Quelqu'un aurait il une piste.

Merci par avance.

Re: Probleme fonction mail()

Posté : 25 févr. 2011, 12:46
par ubuntix
juste pour suivre

Re: Probleme fonction mail()

Posté : 25 févr. 2011, 12:51
par stealth35
Pour utiliser le smtp de Free il faut être authentifié, mais PHP ne gère pas ca, il faut donc utiliser une lib pour le faire (ex: swiftmailer)

Re: Probleme fonction mail()

Posté : 25 févr. 2011, 13:07
par ubuntix
merci de la reponse

il y a tres longtemps j'avais utilisé un PC sous XP en local aussi et j'arrivais a envoyé avec mail directement sans avoir a charger la lib swiftmailer.

Re: Probleme fonction mail()

Posté : 25 févr. 2011, 13:15
par ubuntix
Je viens de me faire un petit mail en consome vec telnet et j'ai eux message de free en retour:

[quote>
Reporting-MTA: dns; smtp4-g21.free.fr
X-Postfix-Queue-ID: 7C5684C8263
X-Postfix-Sender: rfc822; [email protected]
Arrival-Date: Fri, 25 Feb 2011 12:04:25 +0100 (CET)

Final-Recipient: rfc822; [email protected]
Original-Recipient: rfc822;[email protected]
Action: failed
Status: 5.0.0
Remote-MTA: dns; mx1.free.fr
Diagnostic-Code: smtp; 550 spam detected


[/quote]

Received: from xxx?free.fr (unknown [88.abc.cx.ed]) by
smtp4-g21.free.fr (Postfix) with SMTP id 7C5684C8263 for
<[email protected]>; Fri, 25 Feb 2011 12:04:25 +0100 (CET)
Message-Id: <[email protected]>
Date: Fri, 25 Feb 2011 12:04:25 +0100 (CET)
From: [email protected]
To: undisclosed-recipients:;
Subject: No Subject
Mime-Version: 1.0

message d'essai
deux lignesde
C'est bizarre, apparement, mes mails faits main sont classés comme spams et j'ai un retour, alors qu'avec mail() en php je n'ai aucun retour.
les adresses que je donne a mail() ou a telnet sont toutes bonnes et a moi. je devrais avoir au moins un message de MAILER-DAEMON.

Telnet ne m'a jamais de m'authentifier. je ne fais qu'envoyer.

Re: Probleme fonction mail()

Posté : 25 févr. 2011, 14:20
par stealth35
visiblement si t'es sur une ligne Free pas besoin d'authentification.
sinon le X-Mailer ca sert a rien, surprime aussi le mail.add_x_header
verifie aussi que ret retourne bien true

Re: Probleme fonction mail()

Posté : 25 févr. 2011, 16:01
par ubuntix
Ca ne change rien.
Je regarde s'il ny a pas une config dans apache. Dans les virtualhost il y a un serveradmin .
Il a probablement qlq part un truc qui dit quel serveur smtp ou pop utiliser.

Re: Probleme fonction mail()

Posté : 27 févr. 2011, 11:57
par ubuntix
A titre indicatif, et si quelqu'un a le meme probleme, ( sous linux).
J'ai regardé dans mes logs /var/log/mail.info ou mail.info1 et j'avais des erreurs.
C'est mon hostname qui etait utilisé et pas celui de free.fr
Donc dans la config de postfix
/etc/postfix/main.cf
myhostname passe de <mon_pc> a free.fr
et ca marche