Rechercher : dans
Par :

Utilise la fonction mail

Dernière réponse le 25 sep 2009 à 20:49:49 bala, le 24 sep 2009 à 22:15:35 
 Signaler ce message aux modérateurs

Bonjour,

quand on utilise la fonction mail() en PHP depuis un site internet, c'est quel serveur SMTP qui envoie le mèl :
- celui de notre FAI ?
- celui de l'hebergeur du site ?

Merci pour vos réponses éclairées et éclairantes...

Configuration: Windows XP
Firefox 3.0.14

Meilleures réponses pour « utilise la fonction mail » dans :
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

Ayumi, le 24 sep 2009 à 22:17:18

Celui qui est configuré dans ton install de php

Répondre à Ayumi

2

bala, le 24 sep 2009 à 22:19:35

Je n'y ai pas accès à mon install de PHP : je suis hébergée sous free. J'imagine donc que cela veut dire que le serveur SMTP est celui de free ?

Répondre à bala

3

Ayumi, le 24 sep 2009 à 22:24:46

Ouep, il y a de fortes chance.
pour le tester, envoie-toi un mail depuis php.
explore alors les received de ton message et tu sauras ainsi qui émet les emails

Répondre à Ayumi

4

bala, le 24 sep 2009 à 22:30:54

Le problème, c'est que l'envoi de mèl a fonctionné mais ne fonctionne plus.
J'ai essayé d'utiliser la classe PHPmailer où tu lui précises un serveur SMTP (p'tite question : ça veut dire que c'est ce serveur qui va envoyer tous tes mèls ?), mais j'obtiens toujours, quel que soit le serveur SMTP que je renseigne : could not connect to SMTP host.
T'aurais une idée ?

Répondre à bala

5

Ayumi, le 24 sep 2009 à 23:55:43

Idéalement, tu ne devrais pas préciser un smtp dans ton code, car le jour où ton site web déménage, ça te fait une bricole de plus à te rappeler et donc une remarque négative sur la migration car on l'oublie forcément

ensuite, les politiques antispam sont souvent basées sur "cette ip est-elle utilisée par un de mes clients ?"
si le smtp que tu as fourni à PHPMailer vérifie que l'ip qui envoie le mail est bien sous sa coupe et que ce n'est pas le cas, il est facilement explicable pourquoi l'envoi n'aboutit pas. Par contre si tu as indiqué smtp.free.fr, on peut raisonnablement s'attendre à ce que free (FAI) ne bloque pas free (Hébergeur) dans l'envoi de messages. donc si ce dernier te renvoie des erreurs c'est parce qu'il te manque un petit paramètre ici ou là. Je suis pas très versée en PHP mais si tu montres un bout du code, un œil neuf peut éventuellement voir ce qui va pas.

Répondre à Ayumi

6

 bala, le 25 sep 2009 à 20:49:49

Merci Ayumi, c'est très sympa à toi.
Voilà mon code concernant PHPmailer :
require("../modules/CMSMailer/phpmailer/class.phpmailer.php");
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='smtp.free.fr';
$mail->Port=25;
$mail->SMTPAuth=false;

(j'ai aussi essayé en mettant true et en rajoutant les 2 paramètres ci-après :
$mail->Username='user';
$mail->Password='mdp';)

$mail->From='adresse_expediteur@free.fr';
$mail->AddAddress('adresse_recepteur@aaa.fr');

$mail->AddReplyTo('adresse_expediteur@free.fr');
$mail->Subject='Essai envoi mail par SMTP depuis mon serveur';
$mail->Body='Si je peux lire ce texte c\'est que cela marche ;-)';
if(!$mail->Send()){
echo $mail->ErrorInfo;
}
else{
echo 'Mail envoyé avec succès';
}
$mail->SmtpClose();
unset($mail);

Répondre à bala