Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Garzec

Alter Hase

  • »Garzec« ist der Autor dieses Themas

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

1

21.12.2017, 18:32

Emails mit Nodemailer versenden (NodeJs)

Hi,
ich möchte gerne per NodeJs Emails versenden können.

Quellcode

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
const nodemailer = require('nodemailer');

const senderMail = "myemail@yahoo.com";

const emailTransporter = nodemailer.createTransport({
  service: 'yahoo',
  auth: {
    user: senderMail,
    pass: 'mypassword'
  }
});

// Alle Emails aus dem String Array zu einem String zusammenfassen

function getMailReceivers(mailReceivers) {
  var receivers = "";

  for (var i = 0; i < mailReceivers.length; i++) {
    receivers += mailReceivers[i];

    if (i < mailReceivers.length - 1)
      receivers += ", ";
  }

  return receivers;
}

// Optionen festlegen

function getMailOptions(mailReceivers, subj, content) {
  return {
    from: senderMail,
    to: getMailReceivers(mailReceivers),
    subject: subj,
    html: content
  };
}

// Email abschicken

module.exports = {
  sendHtmlMail: function(mailReceivers, subject, html) {
    emailTransporter.sendMail(getMailOptions(mailReceivers, subject, html), function(error, info) {
      if (error) {
        throw error;
      } else {
        console.log(info.response);
      }
    });
  }
};


und aufrufen würde ich das Ganze dann per

Quellcode

1
mailer.sendHtmlMail(["email1", "email2", "email3"], "Test Email", "<p>Success!</p>");


So jetzt habe ich mir eine Test Email auf Yahoo angelegt und bekomme beim Versuch folgende Fehlermeldung

Zitat

Error: Invalid login: 535 5.7.0 (#MBR1212) Incorrect username or password.
at SMTPConnection._formatError (...\nodemailer\lib\smtp-connection\index.js:591:19)
at SMTPConnection._actionAUTHComplete (...\nodemailer\lib\smtp-connection\index.js:1320:34)
at SMTPConnection._responseActions.push.str (...\nodemailer\lib\smtp-connection\index.js:356:26)
at SMTPConnection._processResponse (...\nodemailer\lib\smtp-connection\index.js:747:20)
at SMTPConnection._onData (...\nodemailer\lib\smtp-connection\index.js:543:14)
at TLSSocket._socket.on.chunk (...\nodemailer\lib\smtp-connection\index.js:495:47)
at emitOne (events.js:116:13)
at TLSSocket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)


Die Login Daten, die ich im Code hinterlegt habe, habe ich jetzt mehrfach getestet, er kann sich wohl anscheinend nicht einloggen ?(

Das Ganze nochmal mit Gmail probiert, da bekomme ich dann folgende Meldung

Zitat

Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials g20sm18989110edb.75 - gsmtp
at SMTPConnection._formatError (...\nodemailer\lib\smtp-connection\index.js:591:19)
at SMTPConnection._actionAUTHComplete (...\nodemailer\lib\smtp-connection\index.js:1320:34)
at SMTPConnection._responseActions.push.str (...\nodemailer\lib\smtp-connection\index.js:356:26)
at SMTPConnection._processResponse (...\nodemailer\lib\smtp-connection\index.js:747:20)
at SMTPConnection._onData (...\nodemailer\lib\smtp-connection\index.js:543:14)
at TLSSocket._socket.on.chunk (...\nodemailer\lib\smtp-connection\index.js:495:47)
at emitOne (events.js:116:13)
at TLSSocket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)


Bei Google selbst findet man den Hinweis

Zitat

Let less secure apps use your account


aber ist sowas nicht gefährlich?

Tobiking

1x Rätselkönig

  • Private Nachricht senden

2

22.12.2017, 01:24


Bei Google selbst findet man den Hinweis

Zitat

Let less secure apps use your account


aber ist sowas nicht gefährlich?

"Less secure" heißt in dem Fall Plaintext über SSL/TSL statt OAuth 2. Wenn die Authentifizierung bei OAuth auch nur über Basic-Auth läuft, besteht der Vorteil nur darin, dass nicht bei jeder Anfrage die Zugangsdaten mitgeschickt werden müssen. Der Client bekommt nach der Authentifizierung ein Token über das die Autorisierung durchgeführt werden kann. Wenn ein Angreifer das Token bekommt, kann er damit in der Regel deutlich weniger anfangen als mit den ursprünglichen Zugangsdaten.

Garzec

Alter Hase

  • »Garzec« ist der Autor dieses Themas

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

3

24.12.2017, 11:50

ok :)

Werbeanzeige