Erreur

Formulaire de Contact Node.js

Le problème exposé dans ce sujet a été résolu.

Par contre, je fais comment pour savoir la version d’express ? Je pensais qu’un require suffisait lorsqu’on avait déjà installer express.

Awoken

Juste une recherche Google à faire. Une. "npm package version"

:|

tleb

En faisant ça j’ai trouvé la version de node, pas de express

Awoken

Premier résultat chez moi. Je suis curieux de connaître tes 3 premiers résultats.

tleb

C’est pas comme si j’avais dis "En faisant ça j’ai trouvé la version de node, pas de express"

Ou encore : "Alors, la version de Node que j’ai est la 8.2.1"

(Pour Node.js)

+0 -1

Bon, en poursuivant mes recherches et en suivant des conseils, j’ai pu apercevoir sur cette page :http://expressjs.com/fr/guide/migrating-4.html

Que bodyParser devient bodyParser + multer. Seulement, j’ai l’impression (en regardant des forums etc..) que multer est fait pour télécharger un fichier. Mais, pourquoi download un fichier ? Je n’en ai pas besoin, si ?

Ps: victor, au lieu de dislike pratiquement tout mes messages, tu peux pas expliquer pourquoi ?

+0 -0

Ps: victor, au lieu de dislike pratiquement tout mes messages, tu peux pas expliquer pourquoi ?

Awoken

Je t’ai dit 10x de tenter de comprendre les choses et de chercher au lieu de faire des choses au hasard et de te plaindre ici que ça marche en espérant qu’on fasse les trucs à ta place ou qu’on t’explique chaque évidence que 20s de documentation auraient expliqué.

+0 -1

Ps: victor, au lieu de dislike pratiquement tout mes messages, tu peux pas expliquer pourquoi ?

Awoken

Je t’ai dit 10x de tenter de comprendre les choses et de chercher au lieu de faire des choses au hasard et de te plaindre ici que ça marche en espérant qu’on fasse les trucs à ta place ou qu’on t’explique chaque évidence que 20s de documentation auraient expliqué.

victor

1) J’ai jamais demandé le code complet, au contraire je veux chercher par moi-même.

2) "Chaque évidence" Je te rappelle que t’as certainement beaucoup plus d’expérience que moi et que ce que tu trouves évident ne l’est sûrement pas pour moi.

3) "20sec de documentation" Alors la, t’as vraiment dit n’importe quoi … Je met vraiment beaucoup de temps en lisant des documentations et je trouve pas forcément ce que je veux. D’autant plus que je parle/comprend pas super bien l’anglais ce qui me rend la tâche plus dure.

+0 -0

1) J’ai jamais demandé le code complet, au contraire je veux chercher par moi-même.

Awoken

Peut-être ce n’est pas ton intention, mais la démarche jusqu’à présent le laisse penser.

2) "Chaque évidence" Je te rappelle que t’as certainement beaucoup plus d’expérience que moi et que ce que tu trouves évident ne l’est sûrement pas pour moi.

Awoken

Quand il parle d’évidence, ce n’est pas forcément dû au dégré d’expérience mais de compréhension si on prête vraiment attention (Et je crois qu’il faisait aussi plus référence à une recherche sur google)

3) "20sec de documentation" Alors la, t’as vraiment dit n’importe quoi … Je met vraiment beaucoup de temps en lisant des documentations et je trouve pas forcément ce que je veux. D’autant plus que je parle/comprend pas super bien l’anglais ce qui me rend la tâche plus dure.

Awoken

Tu aurais pu commencer par dire que tu as du mal avec l’anglais, moi même j’en ai, (c’est pourquoi google est ton meilleur ami, tu peux avoir des résultats en français), mais il reste primordial de maîtriser néanmoins l’anglais technique pour ce job.

Un petit conseil, il faut rester courtois quand on demande de l’aide, chacun donne de son temps et de son énergie pour t’aider. Chacun aussi a ses propres préoccupations.

Pour finir, je te conseille ceci et je suis presque sûr que tu trouveras une solution à le suivant

  • crée un nouveau projet
  • installe tes dépendances (tu n’auras besoin que d’express, express-mailer, body-parser(si tu utilises express 4, muter tu n’en as pas besoin, logger non plus mais si tu le souhaite c’est morgan dans express 4) et swig,
  • Lance ton serveur et affiche les différentes pages sans la fonctionnalité de mail
  • tu te rassures que tout fonctionne jusqu’à la reception des données fournies par le formulaire quand tu es sur /contact
  • Et pour finir, tu implémentes l’envoi de mail

bon courage et j’espère avoir pu t’aider....

+0 -0

1) J’ai jamais demandé le code complet, au contraire je veux chercher par moi-même.

Awoken

Peut-être ce n’est pas ton intention, mais la démarche jusqu’à présent le laisse penser.

2) "Chaque évidence" Je te rappelle que t’as certainement beaucoup plus d’expérience que moi et que ce que tu trouves évident ne l’est sûrement pas pour moi.

Awoken

Quand il parle d’évidence, ce n’est pas forcément dû au dégré d’expérience mais de compréhension si on prête vraiment attention (Et je crois qu’il faisait aussi plus référence à une recherche sur google)

3) "20sec de documentation" Alors la, t’as vraiment dit n’importe quoi … Je met vraiment beaucoup de temps en lisant des documentations et je trouve pas forcément ce que je veux. D’autant plus que je parle/comprend pas super bien l’anglais ce qui me rend la tâche plus dure.

Awoken

Tu aurais pu commencer par dire que tu as du mal avec l’anglais, moi même j’en ai, (c’est pourquoi google est ton meilleur ami, tu peux avoir des résultats en français), mais il reste primordial de maîtriser néanmoins l’anglais technique pour ce job.

Un petit conseil, il faut rester courtois quand on demande de l’aide, chacun donne de son temps et de son énergie pour t’aider. Chacun aussi a ses propres préoccupations.

Pour finir, je te conseille ceci et je suis presque sûr que tu trouveras une solution à le suivant

  • crée un nouveau projet
  • installe tes dépendances (tu n’auras besoin que d’express, express-mailer, body-parser(si tu utilises express 4, muter tu n’en as pas besoin, logger non plus mais si tu le souhaite c’est morgan dans express 4) et swig,
  • Lance ton serveur et affiche les différentes pages sans la fonctionnalité de mail
  • tu te rassures que tout fonctionne jusqu’à la reception des données fournies par le formulaire quand tu es sur /contact
  • Et pour finir, tu implémentes l’envoi de mail

bon courage et j’espère avoir pu t’aider....

azeupaul

Merci de m’avoir aidé et pris le temps de me répondre correctement.

Alors, pour le moment, tout va bien mais j’ai juste l’impression que express-mailer ne fonctionne pas avec Express 4, source: https://www.npmjs.com/package/express-mailer Au début de la lecture, on peut voir : Works with Express 3.x.x Donc je suppose que express-mailer fonctionne avec Express 3 mais pas Express 4 .

Ps: Faut-il utiliser Nodemailer ? à la place de express-mailer

Merci.

+0 -0

Alors, pour le moment, tout va bien mais j’ai juste l’impression que express-mailer ne fonctionne pas avec Express 4, source: https://www.npmjs.com/package/express-mailer Au début de la lecture, on peut voir : Works with Express 3.x.x Donc je suppose que express-mailer fonctionne avec Express 3 mais pas Express 4 .

Il fonctionne bien avec Express 4, je pense juste que c’est un problème de mise à jour

Ps: Faut-il utiliser Nodemailer ? à la place de express-mailer

Pour informations, express-mailer a besoin de nodemailer pour fonctionner donc son installation est implicite

+0 -0

Alors, pour le moment, tout va bien mais j’ai juste l’impression que express-mailer ne fonctionne pas avec Express 4, source: https://www.npmjs.com/package/express-mailer Au début de la lecture, on peut voir : Works with Express 3.x.x Donc je suppose que express-mailer fonctionne avec Express 3 mais pas Express 4 .

Il fonctionne bien avec Express 4, je pense juste que c’est un problème de mise à jour

Ps: Faut-il utiliser Nodemailer ? à la place de express-mailer

Pour informations, express-mailer a besoin de nodemailer pour fonctionner donc son installation est implicite

azeupaul

J’ai installé les dépendences, j’ai une question :

Je remet le code du tout début du sujet :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
var express = require('express'),
swig = require('swig'),
mailer = require('express-mailer'),
path = require('path'),
app = express();


app.use(express.logger());
app.use(express.bodyParser());
app.use(express.static(path.join(__dirname, 'public')));
app.engine('html', swig.renderFile);

app.set('views', __dirname+'/views');
app.set('view engine', 'html');

app.get('/', function(req, res){
  res.render('index');
});


app.post('/contact', function(req, res, next){
  mailer.extend(app, {
    from: req.body.email,
    host: 'smtp.free.fr',
    secureConnection: false,
    port: 25,
    transportMethod: 'SMTP'
  });

  app.mailer.send('email', {
    to: 'ton@email.com',
    auth: {
            user: 'monemail@gmail.com',
            pass: 'monmdp'
        },
    subject: req.body.subject,
    message: req.body.message
  }, function(err){
    if(err){
      console.log('On a une erreur!');return;
    }
    res.send('Email envoyé');
  });
});

app.listen(3000);
console.log('App is running');

Ou le code le plus récent :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
const express = require('express');
const swig = require('swig');
const mailer = require('express-mailer');
const path = require('path');
const bodyParser = require('body-parser');
const logger = require('morgan');
const app = express();


app.use(express.logger());
app.use(express.static(path.join(__dirname, 'public')));
app.engine('html', swig.renderFile);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: true
}));

app.set('views', __dirname+'/views');
app.set('view engine', 'html');

app.get('/', function(req, res){
  res.render('index');
});


app.post('/contact', function(req, res, next){
  mailer.extend(app, {
    from: req.body.email,
    host: 'smtp.free.fr',
    secureConnection: false,
    port: 25,
    transportMethod: 'SMTP'
  });

  app.mailer.send('email', {
    to: 'ton@email.com',
    subject: req.body.subject,
    message: req.body.message
  }, function(err){
    if(err){
      console.log('On a une erreur!');return;
    }
    res.send('Email envoyé');
  });
});

app.listen(3000);
console.log('App is running');

Bon, grâce à l’aide d’azeupaul, j’ai vraiment BEAUCOUP avancé. Il me reste juste une erreur qui m’est problématique (j’ai fais des recherches mais rien ne change)

Code app.js :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
var express = require('express'),
swig = require('swig'),
mailer = require('express-mailer'),
path = require('path'),
bodyParser = require('body-parser')
app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.engine('html', swig.renderFile);

app.set('views', __dirname+'/views');
app.set('view engine', 'html');

app.get('/', function(req, res){
  res.render('index');
});

mailer.extend(app, {
  from: 'no-reply@example.com', //
  host: 'smtp.live.com', // hostname 
  secureConnection: true, // use SSL 
  port: 465, // port for secure SMTP 
  transportMethod: 'SMTP', // default is SMTP. Accepts anything that nodemailer accepts 
  auth: {
    user: 'monemail@gmail.com',
    pass: 'monmdp'
  }
});

app.post('/contact', function(req, res, next){

  app.mailer.send('email', {
    to: 'monemail@gmail.com',
    subject: req.body.subject,
    message: req.body.message
  }, function(err){
    if(err){
      console.error(err);
      res.send('Une erreur est survenue');
      return;
    }
    res.send('Email envoyé');
  });
});




app.listen(3000);
console.log('App is running');

Voici l’erreur :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 node app.js
App is running
{ Error: connect ETIMEDOUT 65.55.176.126:465
    at Object.exports._errnoException (util.js:1026:11)
    at exports._exceptionWithHostPort (util.js:1049:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1136:14)
  code: 'ETIMEDOUT',
  errno: 'ETIMEDOUT',
  syscall: 'connect',
  address: '65.55.176.126',
  port: 465,
  stage: 'init' }

Avec quelle adresse veux-tu te connecter ? les paramètres de connexion smtp ou ton adresse mail sont invalides d’après ce que tu as dans le code.

unidan

Mon adress mail est la bonne, mais là je l’ai pas mis car je ne veux pas qu’on la voit. C’est les paramètres de connexion smtp je pense

Avec quelle adresse veux-tu te connecter ? les paramètres de connexion smtp ou ton adresse mail sont invalides d’après ce que tu as dans le code.

unidan

Mon adress mail est la bonne, mais là je l’ai pas mis car je ne veux pas qu’on la voit. C’est les paramètres de connexion smtp je pense

Awoken

Ton adresse live.com finit vraiment par @gmail.com ?

+1 -0

Avec quelle adresse veux-tu te connecter ? les paramètres de connexion smtp ou ton adresse mail sont invalides d’après ce que tu as dans le code.

unidan

Mon adress mail est la bonne, mais là je l’ai pas mis car je ne veux pas qu’on la voit. C’est les paramètres de connexion smtp je pense

Awoken

Ton adresse live.com finit vraiment par @gmail.com ?

victor

EDIT : Oui

+0 -0

Si tu te connectes avec un client mail au smtp de microsoft avec ton adresse gmail et ton mot de passe microsoft, ça te permet d’envoyer des emails ? Tu peux vérifier avec Thunderbird, Outlook ou n’importe quel autre client mail ?

+0 -0

Si tu te connectes avec un client mail au smtp de microsoft avec ton adresse gmail et ton mot de passe microsoft, ça te permet d’envoyer des emails ? Tu peux vérifier avec Thunderbird, Outlook ou n’importe quel autre client mail ?

victor

J’ai un compte hotmail et un compte gmail car on m’a dit qu’il fallait créer un compte gmail, donc je l’ai créer. Avec le compte hotmail je peux me connecter me connecter : https://login.live.com

Mais pas avec mon compte gmail.

J’ai un compte hotmail et un compte gmail car on m’a dit qu’il fallait créer un compte gmail, donc je l’ai créer. Avec le compte hotmail je peux me connecter me connecter : https://login.live.com

Mais pas avec mon compte gmail.

Awoken

En conséquence, soit tu dois mettre ton adresse mail hotmail, soit tu dois mettre smtp.gmail.com. https://support.google.com/a/answer/176600?hl=fr

Avec le compte hotmail je peux me connecter me connecter : https://login.live.com

Mais pas avec mon compte gmail.

Awoken

D’accord. Mais donc tu as essayé de comprendre ton code ou pas ? Parce c’est exactement ce que je te dis de faire : essayer de comprendre ton code.

Ton code essaie de se connecter au serveur SMTP de Microsoft avec ton adresse email de Google. Tu viens de dire que ça ne fonctionne pas. Du coup est-ce que tu comprends pourquoi ton code ne fonctionne pas ?

+0 -0

Avec le compte hotmail je peux me connecter me connecter : https://login.live.com

Mais pas avec mon compte gmail.

Awoken

D’accord. Mais donc tu as essayé de comprendre ton code ou pas ? Parce c’est exactement ce que je te dis de faire : essayer de comprendre ton code.

Ton code essaie de se connecter au serveur SMTP de Microsoft avec ton adresse email de Google. Tu viens de dire que ça ne fonctionne pas. Du coup est-ce que tu comprends pourquoi ton code ne fonctionne pas ?

victor

Car mon adresse gmail ne peut pas se connecter à microsoft.

EDIT : Voilà l’erreur :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
    at SMTPClient._actionAUTHComplete (C:\Users\admin\node_modules\simplesmtp\lib\client.js:925:23)
    at SMTPClient._onData (C:\Users\admin\node_modules\simplesmtp\lib\client.js:354:29)
    at emitOne (events.js:115:13)
    at TLSSocket.emit (events.js:210:7)
    at addChunk (_stream_readable.js:250:12)
    at readableAddChunk (_stream_readable.js:237:11)
    at TLSSocket.Readable.push (_stream_readable.js:195:10)
    at TLSWrap.onread (net.js:586:20)
  name: 'AuthError',
  data: '534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtQ\r\n534-5.7.14 RBlfqhZbBibvRNeQI6kCrrZjm674BkLFarx2DM
FR1KUEd7d0sKHA8hWPBevGQfBdp3P5M3\r\n534-5.7.14 92pCPyQvlEyYJhumTTKSBgVhSyqdRgH7GCfcdi82aexuiV3GDnDNrA15sT00O8BlCWnOtb\r\n534-5.7.14 yTiMmG1NoCl
lGFbiirK-Kgvy6lda_DwIzxD1WHDGNzA1gQH_Epu30oQjtdVBoSj3nopEZ3\r\n534-5.7.14 QwFtHA6eF7vCOe6tZhlt1AIcgmw_Y> Please log in via your web browser and
\r\n534-5.7.14 then try again.\r\n534-5.7.14  Learn more at\r\n534 5.7.14  https://support.google.com/mail/answer/78754 d20sm24655801wrc.96 - g
smtp',
  stage: 'auth' }
+0 -0

Le lien vers le support Google mène sur une page de connexion Microsoft ?

entwanne

Nan, j’avais ça : https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtw\r\n534-5.7.14 hrfJRj0U8ZRFjEanrsnCeMX0Fi1oiCnqexXcU2 J2Tjerk77yxP7c-YBWxs4eM45LNwLn5A\r\n534-5.7.14

Mais je l’ai plus car j’avais pas entrer mes identifiants.

Ps : Sur https://signup.live.com/signup?wa=wsignin1.0&rpsnv=13&ct=1501267567&rver=6.7.6643.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f&id=292841&cbcxt=out&fl=wld&contextid=5B6D5B1A8AE52854&bk=1501267567&uiflavor=web&uaid=92ec4d2508724e1da9b7278d496c48e7&mkt=FR-FR&lc=1036&lic=1

On ne peut pas créer de compte gmail, seulement hotmail et outlook.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte