OVH Community, votre nouvel espace communautaire.

script php envoi de mail


tfred84
24/03/2009, 14h34
Suite et fin

J'ai essayé en initialisant le headers et toujours aucun mail envoyé -> impossible d'appliquer ce 5ème paramètre d'appel de php mail() à mon script php. C'est à croire que c'est un problème particulier au dédié centos+plesk ...

Je suis donc passé par le serveur en rajoutant au fichier httpd.conf la ligne suivante :
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f post1@mondomaine.com"
et là les mails sont envoyés ... alors pourquoi on ne peut pas appliquer le 5ème paramètre d'appel de php mail() au script php ? mais par contre on peut l'appliquer au serveur ?
C'est un mystère pour moi ...

Merci à Ktp de m'avoir mis sur la piste du 5ème paramètre d'appel de php mail()

Et voilà c'est fini ...

ktp
24/03/2009, 04h48
Ton code manque l'initialisation de $headers, d'où problème.
$headers = "";

tfred84
23/03/2009, 22h47
Bonsoir Ktp

Merci de m'aider, tu as raison mon script n'utilise pas le 5ème paramètre d'appel de php mail(). J'ai donc essayé mais sans succès, avec ce nouveau paramètre mon mail n'est pas envoyé. Je mets mon code (script test de ovh ) au cas ou :
Code PHP:
//$to = Adresse_Mail_Destinataire     
$to "webmaster@destinataire.com";
//$from = Adresse_Mail_Contact_site 
$from  "webmaster@monsite.fr";

$jour  date("d-m-Y");
$heure date("H:i:s");

$sujet "Essai Mail - $jour $heure";

$contenu "";
$contenu .= " \n";
$contenu .= " \n";
$contenu .= " Subject  \n";
$contenu .= " \n";
$contenu .= " \n";
$contenu .= "Mail au format HTML simple avec la fonction PHP mail().
 
$sujet  
 \n"
;
$contenu .= " \n";
$contenu .= " \n";

$headers .= "MIME-Version: 1.0 \n";
$headers .= "Content-Transfer-Encoding: 8bit \n";
$headers .= "Content-type: text/html; charset=utf-8 \n";
$headers .= "From: $from \n";

$verif_envoi_mail TRUE;

$verif_envoi_mail = @mail ($to$sujet$contenu$headers"-fwebmaster@monsite.fr");
 
if (
$verif_envoi_mail === FALSE) echo " ### Verification Envoi du Mail=$verif_envoi_mail - Erreur envoi mail 
 \n"
;
else echo 
" *** Verification Envoi du Mail=$verif_envoi_mail - Mail envoyé avec succès de $from vers $to 
 avec comme sujet: 
$sujet \n"
?>
Je soupçonne qu'il faut regarder du côté de sendmail, j'utilise plesk + centos mais je ne suis pas arrivé à faire fonctionner les solutions trouvées dans google.

Allez bonne nuit à tous ... demain sera un nouveau jour ...

ktp
23/03/2009, 21h05
Ce que j'ai compris :
Le serveur destinataire a fait une vérification de callout sur l'adresse MAIL FROM: (SMTP) de l'enveloppe (et non pas de l'en-tête).
Ton script php n'utilisant pas le 5ème paramètre d'appel de php mail() avec -f pour préciser cette adresse MAIL FROM:, c'est anonymous@ns360836.ovh.net
qui a été utilisé par défaut. Or cet email n'existe pas (vérification callout), d'où refus et bounce.

Voir la documentation du php mail() :
http://fr.php.net/manual/function.mail.php
$result = mail($email,
$subject,
$message,
$headers,
"-f$return_email"); // return-path email

Donc il te suffirait de mettre une adresse return-path valide ($return_email = $sender_mail du champ From: de l'en-tête par exemple).

tfred84
23/03/2009, 16h48
Bonjour

En relevant les logs de mes mails j'ai comme erreur

failure: 67.212.67.xxx_does_not_like_recipient./Remote_host_said:_550-Verification_failed_for_/550-Previous_(cached)_callout_verification_failure/550_Sender_verify_failed/Giving_up_on_67.212.67.xxx./

Est ce que quelqu'un connait la solution, de plus ce qui est bizarre c'est l'adresse anonymous@ns360836.ovh.net alors que l'adresse mail de ma valeur $from est webmaster@mondomaine.com.

Si vous avez des idées je suis preneur.

tfred84
20/03/2009, 14h49
Bonjour

J'utilise un script php pour envoyer un formulaire par mail avec un serveur dédié (centos + plesk ) en fonction des adresses mails utilisées le formulaire arrive ou n'arrive pas dans la boite mail. Au cas ou il y ai une erreur dans mon script j'ai utilisé le script de test d'ovh ( http://forum.ovh.com/showthread.php?t=31770 ) ) et le résultat est toujours le même pour certaine adresse mail le formulaire n'arrive pas. Alors qu'avec le même script ( ovh test envoi mail ) utilisé chez un autre hébergeur avec n'importe quel adresse mail, tout arrive dans les boites mails.
Je suis la dessus depuis hier après midi et j'ai pas de soluce :
Est ce qu'il faut ajouter un headers dans le code php ?
Est ce qu'il faut modifier la config du serveur ?

A L'AIDE !!!