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 03/02/2014, à 01:05

maniac058

[Non-Résolu]Mettre en place ssmtp

Bonjour/Bonsoir;
Voilà, je suis un habituer dans le langage du web mais pas de Linux.
J'avais géré une machine sous debian et il y a quelque jour, je suis partie de Windows pour aller sur Ubuntu.
Je voudrais pouvoir envoyer un mail en Php avec la fonction mail().
J'ai vu un tutoriel pour le faire :
http://jike.free.fr/blog/index.php/2007 … vec-ssmtp/
Mais, le problème est que sa vas faire bien 1 an que j'essaye sous Windows mais impossible et maintenant je bloque souvent sur le Smtp.
Je voudrais pouvoir envoyer le mail sur une boîte mail mail.
Et mon opérateur est darty Box, et je voudrais savoir que dois-je mettre pour le Smtp .
Merci pour votre soutien, pouvoir faire quelque chose que j'essaye depuis bien longtemps.
Cordialement;
Maniac058

Dernière modification par maniac058 (Le 05/02/2014, à 23:38)

Hors ligne

#2 Le 03/02/2014, à 10:26

tiramiseb

Re : [Non-Résolu]Mettre en place ssmtp

Salut,

mon opérateur est darty Box, et je voudrais savoir que dois-je mettre pour le Smtp .

http://google.fr/?q=smtp+darty+box
==> smtp.live.com

Par contre, ce serveur demande une authentification. Ton tutoriel n'évoque pas l'authentification.
Cette documentation est plus complète : http://doc.ubuntu-fr.org/ssmtp#configur … _ssmtpconf

Hors ligne

#3 Le 03/02/2014, à 23:40

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

Bonjour,
voilà, je n'y arrive toujours pas merci de me dire si j'ai fait des fautes :

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=no-rep@localhost.com

# Nom d'utilisateur du compte email avec lequel vous envoyer les courriells
AuthUser=votre_identifiant@fournisseur.com

# Mot de passe de ce même compte
AuthPass=le_mot_de_passe_utilisé_pour_votre_identifiant@fournisseur.com

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.live.com:587

# Where will the mail seem to come from?
#rewriteDomain=fournisseur.com

# The full hostname
hostname=localhost

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES

Hors ligne

#4 Le 04/02/2014, à 00:42

D@mien.

Re : [Non-Résolu]Mettre en place ssmtp

Salut
Ça donne quoi en activant le chiffrement ?

UseTLS=YES

:wq!

Hors ligne

#5 Le 04/02/2014, à 01:07

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

Bonsoir,
Voici la commande que je execute

echo Contenu du message | mail -s "TEST" -t ****@gmail.com -a From:email@expediteur.com

Et voici la réponse :

mail: impossible d'expédier le message: Processus terminé avec un état de sortie non nul

Et mon fichier maintenant :

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=no-rep@localhost.com

# Nom d'utilisateur du compte email avec lequel vous envoyer les courriells
AuthUser=votre_identifiant@fournisseur.com

# Mot de passe de ce même compte
AuthPass=le_mot_de_passe_utilisé_pour_votre_identifiant@fournisseur.com

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.live.com:587

# Where will the mail seem to come from?
#rewriteDomain=fournisseur.com

# The full hostname
hostname=localhost

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

UseTLS=YES

Merci de votre aide.
Cordialement;

Hors ligne

#6 Le 04/02/2014, à 22:10

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
#root=postmaster
root=Admin@gmail.com

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
#mailhub=mail
mailhub=smtp.live.com:587

AuthUser=******@gmail.com
AuthPass=********
UseTLS=YES
UseSTARTTLS=YES

# Where will the mail seem to come from?
#rewriteDomain=
rewriteDomain=gmail.com

# The full hostname
#hostname=MyMediaServer.home
hostname=Admin@gmail.com

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Voici mon fichier dite moi si j'ai fait des fautes.
Après j'ai essayer de envoyer mais rien.
J'ai vraiment besoin d'aide.
Cordialement;

Hors ligne

#7 Le 04/02/2014, à 22:48

Compte anonymisé

Re : [Non-Résolu]Mettre en place ssmtp

Suivant http://blog.loicg.net/how-to/configurat … ail-gmail/

mailhub=smtp.live.com:587 --> mailhub=smtp.gmail.com:587

UseTLS=YES --> a enlever

rewriteDomain=gmail.com --> rewriteDomain=


Pouvez-vous utiliser :

sed -e '/^[ ]*#/d' -e '/^$/d' /etc/ssmtp/ssmtp.conf

pour afficher le fichier plus lisible sans tout les commentaires (avant de le copier sur le forum)

à priori il faut aussi configurer le fichier /etc/ssmtp/revaliases

Dernière modification par Compte anonymisé (Le 04/02/2014, à 22:49)

#8 Le 04/02/2014, à 23:00

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

Bonsoir,
Voici maintenant le .conf :

root=Admin@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=********@gmail.com
AuthPass=***********
UseSTARTTLS=YES
rewriteDomain=
hostname=Admin@gmail.com
FromLineOverride=YES

Quand j'essaye l'envois de mail :

echo Contenu du message | mail -s "TEST" -t *******@gmail.com -a From:******@gmail.com

Voici le message que j'ai dans le terminal ;

mail: impossible d'expédier le message: Processus terminé avec un état de sortie non nul

Ensuite, pour le fichier revaliases, je ne sait pas quoi mettre car je suis sur mon propre pc.

Dernière modification par maniac058 (Le 16/10/2017, à 16:57)

Hors ligne

#9 Le 05/02/2014, à 16:12

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

Je fait up, merci pour votre aide.

Hors ligne

#10 Le 05/02/2014, à 18:02

Compte anonymisé

Re : [Non-Résolu]Mettre en place ssmtp

/etc/ssmtp/revaliases doit contenir quelque chose comme :

root:moimoimoi@gmail.com:smtp.gmail.com:587
monlogindemamachine:moimoimoi@gmail.com:smtp.gmail.com:587

Admin@gmail.com <-- c'est bien votre adresse e-mail?

cat /var/log/mail.err 

il y a quoi dans ce fichier ?

#11 Le 05/02/2014, à 18:59

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

J'ai réussie merci smile
Enfin, sa vas faire longtemps que j'essaye sous windows, je suis partie sous linux pour être tranquille et enfin se maudit problème et régler. Merci.

Hors ligne

#12 Le 05/02/2014, à 20:48

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

Excuse mais pas totalement régler.
Voici un code pour envoyer un mail pour voir si sa envois bien le mail :

<h2>Feedback Form</h2>
<?php
// display form if user has not clicked submit
if (!isset($_POST["submit"]))
  {
  ?>
  <form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
  From: <input type="text" name="from"><br>
  Subject: <input type="text" name="subject"><br>
  Message: <textarea rows="10" cols="40" name="message"></textarea><br>
  <input type="submit" name="submit" value="Submit Feedback">
  </form>
  <?php
  }
else
  // the user has submitted the form
  {
  // Check if the "from" input field is filled out
  if (isset($_POST["from"]))
    {
    $from = $_POST["from"]; // sender
    $subject = $_POST["subject"];
    $message = $_POST["message"];
    // message lines should not exceed 70 characters (PHP rule), so wrap it
    $message = wordwrap($message, 70);
    // send mail
    mail("webmaster@example.com",$subject,$message,"From: $from\n");
    echo "Thank you for sending us feedback";
    }
  }
?>

Voici mon php.ini

mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25

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

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

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on NT, not valid in Windows 95).
;mail.log = syslog

Et voici le log :

Feb  5 19:55:44 remy-ubuntu sSMTP[7688]: Creating SSL connection to host
Feb  5 19:55:45 remy-ubuntu sSMTP[7688]: SSL connection using RSA_ARCFOUR_SHA1
Feb  5 19:55:48 remy-ubuntu sSMTP[7688]: Sent mail for *********@gmail.com (221 2.0.0 closing connection jw4sm*******64wjc.20 - gsmtp) uid=33 username=www-data outbytes=401

Pouvez-vous me dire où est ma faute car aucun mail n'est reçu par php.

Hors ligne

#13 Le 07/02/2014, à 01:09

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

Bonjour,
UP

Hors ligne

#14 Le 07/02/2014, à 08:31

tiramiseb

Re : [Non-Résolu]Mettre en place ssmtp

aucun mail n'est reçu par php.

Ton log montre que ton e-mail est bien parti vers *********@gmail.com.

Qu'entends-tu par "aucun mail n'est reçu par PHP" ?
Comment ton code PHP vérifie-t-il l'arrivée d'un e-mail ?

Hors ligne

#15 Le 07/02/2014, à 19:12

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

Je ne reçois aucun mail dans ma boite ni en spam, contrairement à la console.

Hors ligne

#16 Le 07/02/2014, à 20:47

tiramiseb

Re : [Non-Résolu]Mettre en place ssmtp

ce serait pas dans les spams, par hasard ?

Hors ligne

#17 Le 07/02/2014, à 22:22

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

maniac058 a écrit :

Je ne reçois aucun mail dans ma boite ni en spam, contrairement à la console.

J'ai dit, qu'il n'est pas dans les spam ni dans la boite normal, comme si l’envoie avec username="www-data" n’était pas complètement autoriser, car il est écrit comme envoyer et il n'est pas reçu, comme si il y avait une autre étape qui filtre et il refuse le mail.
JE ne sait pas après, dite moi se que je peut faire.
Cordialement;

Hors ligne

#18 Le 07/02/2014, à 22:47

tiramiseb

Re : [Non-Résolu]Mettre en place ssmtp

Oups désolé, j'ai lu ton message trop vite.



Ce qui me semble étrange dans ton cas, c'est que tu as un message « Sent mail » dans les logs : cela veut dire que l'e-mail est bien parti.
La partie « 221 2.0.0 closing connection jw4sm*******64wjc.20 - gsmtp », c'est la réponse du serveur de GMail (gsmtp) disant qu'il ferme la connexion (ce qu'il faut quand un e-mail est reçu)...

Hors ligne

#19 Le 08/02/2014, à 02:08

maniac058

Re : [Non-Résolu]Mettre en place ssmtp

tiramiseb a écrit :

Oups désolé, j'ai lu ton message trop vite.



Ce qui me semble étrange dans ton cas, c'est que tu as un message « Sent mail » dans les logs : cela veut dire que l'e-mail est bien parti.
La partie « 221 2.0.0 closing connection jw4sm*******64wjc.20 - gsmtp », c'est la réponse du serveur de GMail (gsmtp) disant qu'il ferme la connexion (ce qu'il faut quand un e-mail est reçu)...

Voilà, le problème pourquoi n'est t'il pas dans ma boite mail ?
Je me pose la question.

Hors ligne

#20 Le 08/02/2014, à 09:36

tiramiseb

Re : [Non-Résolu]Mettre en place ssmtp

Essaye de mettre "debug=yes" dans la configuration de ssmtp et de voir s'il y a plus de détails dans les logs...

Hors ligne

#21 Le 08/02/2014, à 10:24

bruno

Re : [Non-Résolu]Mettre en place ssmtp

Il vaut mieux éviter de faire des tests avec une adresse gmail, surtout si l'adresse de l'expéditeur et du destinataire est la même.

Hors ligne

#22 Le 08/02/2014, à 12:13

tiramiseb

Re : [Non-Résolu]Mettre en place ssmtp

bruno a écrit :

Il vaut mieux éviter de faire des tests avec une adresse gmail, surtout si l'adresse de l'expéditeur et du destinataire est la même.

Pourquoi ?

Hors ligne

#23 Le 08/02/2014, à 14:19

bruno

Re : [Non-Résolu]Mettre en place ssmtp

J'ai déjà eu de mauvaises surprises avec ça, le courriel envoyé était considéré comme falsifié ou comme doublon et n’apparaissait pas forcément dans la boîte de réception.
En outre si le serveur d'envoi n'est pas correctement configuré le courriel peut simplement être rejeté par gmail (par exemple smtp se prétendant toto.fr mais n'ayant pas d'enregistrement MX dans les DNS).

Hors ligne

#24 Le 08/02/2014, à 16:56

tiramiseb

Re : [Non-Résolu]Mettre en place ssmtp

le courriel envoyé [...] n’apparaissait pas forcément dans la boîte de réception.

Il faut voir si le courriel en question n'est pas éventuellement placé dans les messages envoyés. Auquel cas il doit apparaître dans "Tous les messages" aussi.
De plus, je me suis déjà envoyé des message à moi-même sur GMail et ça le plaçait bien dans la boîte de réception.

En outre si le serveur d'envoi n'est pas correctement configuré le courriel peut simplement être rejeté par gmail

C'est pourquoi je propose d'activer le debug, pour voir s'il y a plus de détails sur la transaction. Mais ça, ce n'est pas spécifique à GMail...

Hors ligne

#25 Le 08/02/2014, à 22:06

Pseudo supprimé

Re : [Non-Résolu]Mettre en place ssmtp

J'ai dit, qu'il n'est pas dans les spam ni dans la boite normal, comme si l’envoie avec username="www-data" n’était pas complètement autoriser, car il est écrit comme envoyer et il n'est pas reçu, comme si il y avait une autre étape qui filtre et il refuse le mail.

Ton message part ; OK; mais je pense qu'il est mal forgé. Le sender_domain de messagerie doit être valide et vérifiable par une résolution mx. Si ce n'est pas le cas, autant jouer à la loterie....

 
php -a
...
php > $message = "bonjour\n";
php > $message = wordwrap($message, 70);
php > $to      = 'target@gmail.com';
php > $subject = 'hello';
php > $headers = 'From: toto@domain.tld' ."\n";
php > $true_sender = '-f toto@domain.tld';
php > mail($to, $subject, $message, $headers, $true_sender);

true_sender_domain = domaine de messagerie

host -t mx <true_sender_domain>