Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/09/2012, à 08:17

Auden

Fonction mail() de php qui ne fonctionne pas.

Bonjour,

J'ai installé un serveur à la maison (apache2, php, mysql) afin de développer un site en local. Tout cela fonctionne bien.
Par contre j'ai besoin de pouvoir envoyer des mails (via php) vers l'extérieur mais ça coince...

Sous windows avec wamp pas de soucis, mais sous ubuntu si j'ai bien compris il faut installer un MTA. J'ai donc installer esmtp.

Mais sans aucun résultat :

Voici ma config :

Dans php.ini

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.free.fr
; http://php.net/smtp-port
smtp_port = 587

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = me@gen.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/bin/sendmail -i -t

et dans /etc/esmtprc j'ai :

# Config file for ESMTP sendmail

# The SMTP host and service (port)
hostname=smtp.free.fr:587

# SECURITY WARNING: Do NOT set username and password in the system wide
# configuration file unless you are the only user of this machine. See
# esmtprc(5).

# The user name
#username=

# The password
#password=

# Whether to use Starttls
#starttls=disabled

# The certificate passphrase
#certificate_passphrase=

# The Mail Delivery Agent
#mda=""

J'ai bien créé un lien symbolique.

sudo ln -s /usr/bin/esmtp /usr/bin/sendmail

Je veux simplement pouvoir envoyer un mail..... venant juste de quitter windows je suis parfois perdu :-(
J'ai tenté pas mal de truc mais rien n'y fait....

sudo /etc/init.d/apache2 restart

Cette ligne suffit pour prendre en compte les changements non ?

Merci pour votre soutien... car là je suis bien coincé dans mon projet...

Merci


EDIT :

charles@salon:~$ sendmail xxxxxx@gmail.com
0 (null)
xxxxxx@gmail.com: 504 <charles@salon>: Sender address rejected: need fully-qualified address

L'origine du hic ?

Dernière modification par Auden (Le 27/09/2012, à 08:22)

Hors ligne

#2 Le 27/09/2012, à 08:43

redo_fr

Re : Fonction mail() de php qui ne fonctionne pas.

Salut,
le message de gmail explique le problème:

gmail a écrit :

Sender address rejected: need fully-qualified address

Tu n'as pas de domaine qualifié (le domaine @salon n'est pas conforme), gmail te considère comme un indésirable ("spammeur")

Il faut que tu définisses un domaine ou que tu demandes à esmtp de ré-ecrire ton adresse d'envoi (sender)

Ne connaissant pas esmtp, je ne peux pas te guider, mais il doit y avoir des documents disponibles (ne serait-ce que le man, sans doute smile )


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#3 Le 27/09/2012, à 09:03

sorrodje

Re : Fonction mail() de php qui ne fonctionne pas.

le man et/ou la doc esmtp

Voir dans /var/log/mail.log pour les messages d'erreur éventuels qui permettraient d'aiguiller vers une solution via Google ?


Utilisateur Debian/Ubuntu depuis 2008 - http://sorrodje.alter-it.org

Hors ligne

#4 Le 27/09/2012, à 10:37

Auden

Re : Fonction mail() de php qui ne fonctionne pas.

Merci pour vos réponses rapide et vos liens mais malgré tout je galère....

On me demande un domaine qualifié mais bossant en local je n'en ai pas :-(

Je crois que je m'éloigne du résultat escompté :-(


charles@salon:~$ sendmail xxxx@gmail.com
SMTP server problem Name or service not known

Dans php.ini j'ai tout commenté sauf la partir concernant Unix

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = smtp.free.fr
; http://php.net/smtp-port
;smtp_port = 587

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@gen.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/bin/sendmail -i -t

Si quelqu'un a un tuto pour configurer l'envoi de mail depuis un poste local, je prends...
avec postfix, j'aurais peut-être plus de tuto non ?

Merci

Hors ligne

#5 Le 27/09/2012, à 10:50

sorrodje

Re : Fonction mail() de php qui ne fonctionne pas.

bah les résultats de mes expériences avec esmpt et ssmtp sont là : http://sorrodje.alter-it.org/index.php? … smtp-ssmtp .

Mais bon à chaque fois j'ai besoin de faire pas mal d'A/R entre les logs ( /var/log/mail.log) et les fichiers de conf pour faire tout fonctionner correctement.

Il faut d'abord que tu testes l'envoi de mail via esmtp/ssmtp et que ça fonctionne . Ensuite seulement tu fais un test d'envoi via php . chaque morceau de la chaine en son temps.

Installer postfix est une autre option en effet mais d'expérience j'ai aussi à eu à faire des A/R  entre les fichiers pour ajuster ma configuration.

Dernière modification par sorrodje (Le 27/09/2012, à 10:50)


Utilisateur Debian/Ubuntu depuis 2008 - http://sorrodje.alter-it.org

Hors ligne

#6 Le 27/09/2012, à 12:00

Auden

Re : Fonction mail() de php qui ne fonctionne pas.

J'ai suivi le tuto :

charles@salon:~$ sendmail audexxxx@gmail.com
0 (null)
audexxx@gmail.com: 504 <charles@salon>: Sender address rejected: need fully-qualified address

Je m'y prends comment avec esmtp pour ré-ecrire mon adresse d'envoi pour que ça passe?

Mon fichier ressemble à ça :

# Config file for ESMTP sendmail

# The SMTP host and service (port)
hostname=smtp.free.fr:587

# SECURITY WARNING: Do NOT set username and password in the system wide
# configuration file unless you are the only user of this machine. See
# esmtprc(5).

# The user name
#username=

# The password
#password=

# Whether to use Starttls
#starttls=disabled

# The certificate passphrase
#certificate_passphrase=

# The Mail Delivery Agent
#mda=""

Merci :-)

Dernière modification par Auden (Le 27/09/2012, à 12:11)

Hors ligne

#7 Le 27/09/2012, à 21:18

Auden

Re : Fonction mail() de php qui ne fonctionne pas.

Je viens de passer 3 heures à tester différentes solutions et je crois que je suis entrain de toucher le fond....

Mon php.ini

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = smtp.free.fr
; http://php.net/smtp-port
;smtp_port = 587

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@gen.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/bin/sendmail -i -t

Mon /etc/esmtprc

# Config file for ESMTP sendmail

# The SMTP host and service (port)
hostname=smtp.free.fr:25

# SECURITY WARNING: Do NOT set username and password in the system wide
# configuration file unless you are the only user of this machine. See
# esmtprc(5).

# The user name
username=

# The password
password=

# Whether to use Starttls
#starttls=disabled

# The certificate passphrase
#certificate_passphrase=

# The Mail Delivery Agent
#mda=

Pour vous dire que le m'éloigne :

charles@salon:~$ mail  auden69@gmail.com
bash: /usr/bin/mail: Aucun fichier ou dossier de ce type

et mon /var/log/mail.log ne dit plus rien...

C'est grave docteur ?

Hors ligne

#8 Le 30/09/2012, à 10:06

Pseudo supprimé

Re : Fonction mail() de php qui ne fonctionne pas.