# [PHP] Fonction mail (résolu)

## Neuromancien

Bonjour,

Savez-vous ce qu'il faut configurer pour utiliser la fonction mail de PHP ?

----------

## guilc

Oui  :Smile: 

/etc/php/apache2-php5/php.ini

Exemple chez moi :

```
[mail function]

; For Win32 only.

;SMTP = localhost

;smtp_port = 25

; For Win32 only.

;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").

sendmail_path = "sendmail -t"

```

----------

## CryoGen

moi j'utilise ssmtp

```
sendmail_path = "/usr/sbin/ssmtp -t -i"
```

 :Smile: 

----------

## Neuromancien

 *guilc wrote:*   

> Oui 
> 
> /etc/php/apache2-php5/php.ini
> 
> Exemple chez moi :
> ...

 

Ca ne marche pas. Je ne reçois pas le mail.

----------

## raoulp

Salut,

Certains serveurs pop (de plus en plus) n'acceptent les mails que de serveurs smtp dont le nom de domaine est enregistré. Est-ce ton cas ?

----------

## Neuromancien

 *raoulp wrote:*   

> Salut,
> 
> Certains serveurs pop (de plus en plus) n'acceptent les mails que de serveurs smtp dont le nom de domaine est enregistré. Est-ce ton cas ?

 

Dans ce cas comment tester une fonction d'envoi de mail dans un script PHP ?

----------

## sd44

moi j'utilise sendEmail dans mes script php (mais le prog n'a rien a voir avec  php)

----------

## raoulp

 *Neuromancien wrote:*   

> Dans ce cas comment tester une fonction d'envoi de mail dans un script PHP ?

 

Tu envoyes sur une adresse locale du type nom@domainlocal.

----------

## Uggy

 *Neuromancien wrote:*   

> Ca ne marche pas. Je ne reçois pas le mail.

 

Il faut aussi avoir configuré un serveur mail.

Sendmail et postfix possèdent le binaire sendmail.

Poste les logs de ton serveur mail...

----------

## guilc

 *Uggy wrote:*   

>  *Neuromancien wrote:*   Ca ne marche pas. Je ne reçois pas le mail. 
> 
> Il faut aussi avoir configuré un serveur mail.
> 
> Sendmail et postfix possèdent le binaire sendmail.
> ...

 

Pas forcément utile le serveur de mail !

Si la machine ne fait qu'expédier des mails, un soft comme ssmtp est largement suffisant (et fait pour ça). Il fournit aussi une commande compatible sendmail, et sait relayer les mails sur un smtp externe.

Et c'est largement moins pénible à configurer  :Wink: 

----------

## Uggy

 *guilc wrote:*   

> 
> 
> Pas forcément utile le serveur de mail !

 

Biensur, je voulais dire "Il faut aussi avoir configuré le soft qui utilise la commande sendmail" ...

Et donc poster la conf et les logs de ce soft...  :Wink: 

----------

## Uggy

 *guilc wrote:*   

> 
> 
> Et c'est largement moins pénible à configurer 

 

faut voir..    :Wink: 

Dans la majorité des cas un main.cf complètement vide suffit pour faire fonctionner postfix (sans nuire a la sécurité) pour cet usage vu que dans ce cas ce sont les paramètres par défaut qui sont utilisés.

----------

## guilc

 *Uggy wrote:*   

>  *guilc wrote:*   
> 
> Et c'est largement moins pénible à configurer  
> 
> faut voir..   
> ...

 

Bah heureusement que la conf par défaut de postfix n'est pas openrelay hein  :Wink: 

Mon avis est : si il s'agit juste d'emettre des mails, et jamais d'en recevoir : inutile d'avoir un démon qui écoute en SMTP, ça évitera des risques potentiels ! un ssmtp ou équivalent (msmtp, etc...) est bien plus adéquat qu'un vrai serveur mail  :Wink: 

----------

## Uggy

 *guilc wrote:*   

> un ssmtp ou équivalent (msmtp, etc...) est bien plus adéquat qu'un vrai serveur mail 

 

Je ne connais pas du tout ces "clients" smtp..

J'espère qu'ils se comportent aussi bien que Postfix (ou des vrais "serveurs") en gestion des queues, des retrys, des bounces..etc..

----------

## guilc

 *Uggy wrote:*   

>  *guilc wrote:*   un ssmtp ou équivalent (msmtp, etc...) est bien plus adéquat qu'un vrai serveur mail  
> 
> Je ne connais pas du tout ces "clients" smtp..
> 
> J'espère qu'ils se comportent aussi bien que Postfix (ou des vrais "serveurs") en gestion des queues, des retrys, des bounces..etc..

 

Non c'est pas fait pour  :Wink: 

C'est fait pour contacter un smtp distant, filer le mail, et c'est tout. Dans le cadre del a fonction "mail", c'est bien ce qu'on leur demande. Et sasn démon qui tourne en permanence.

----------

## Uggy

Humm... ok...

Je préfère mon Postfix alors  :Wink: 

----------

## guilc

 *Uggy wrote:*   

> Humm... ok...
> 
> Je préfère mon Postfix alors 

 

Ouais mais c'est pas la même utilisation  :Wink: 

A mon avis :

1), il ne faut PAS conseiller d'utiliser un serveur mail à quelqu'un qui ne connais pas et dont le but n'est pas de réellement se pencher dessus : le risque de faire open relay est beaucoup trop grand (on reçoit assez de spam comme ça non ?), surtout si la seule utilité est l'envoi seul de mails.

2) Dans le cadre d'un envoi PHP, la fonction mail s'assimile à un envoi depuis un client mail. Il fait les queues ton client mail ? ben non, ben la c'est pareil. Que ce genre de softs ne gèrent pas ces fonctions "avancées" n'est à mon sens pas un problème dans ce cadre d'utilisation là. le serveur SMTP en face gérera très bien cela.

3) En plus dans le cadre d'un serveur web sur ADSL, les IP des clients (dynamiques ou statiques) sont souvent rejetées en spam par les admins peu scrupuleux (range d'IP de clients des FAI => bam, spam potentiel, on bloque...), donc si tu veux augmenter les chances que ton mail arrive à destination, il faudra de toute manière relayer par le SMTP de ton FAI. Et la, la valeur ajoutée d'un postfix pour le seul envoi de mails... c'est plutot peanuts  :Wink: 

----------

## Uggy

Je ne partage pas a 100% les arguments ci dessus...Ou dumoins j'en ai d'autres... Mais bon.. j'ai peur que le thead devienne sans fin donc ......   :Wink: 

Globalement on est d'accord pour dire qu'il faut qu'il configure son soft qui utilise le binaire "Sendmail"  :Wink: 

----------

## dapsaille

J'utilise la fonction phpmail externe qui est plutot pas mal :p

----------

## Neuromancien

J'ai pu tester ma classe Mail, qui fonctionne. :Smile: 

----------

