Senden von E-Mails über Google Mail SMTP - Meteorjs
Hallo, ich versuche mein gmail-Konto senden Sie E-Mail für meine Meteor-app, nicht sehr einfach so weit
server.js
Meteor.startup(function () {
smtp = {
username: 'xxxxx', //eg: [email protected]
password: 'YYYYYYYY', //eg: 3eeP1gtizk5eziohfervU
server: 'smtp.gmail.com', //eg: mail.gandi.net
port: 465
}
process.env.MAIL_URL = 'smtp://' + encodeURIComponent(smtp.username) + ':' + encodeURIComponent(smtp.password) + '@' + encodeURIComponent(smtp.server) + ':' + smtp.port;
});
Email.send({
from: "[email protected]",
to: "[email protected]",
subject: "Meteor Can Send Emails via Gmail",
text: "Its pretty easy to send emails via gmail."
});
Und die Test-E-Mail nie gesendet, mit der unter Fehlercode zu sagen, dass ich haben setzen Sie die Umgebungsvariable.
I20150715-18:14:02.641(0)? ====== BEGIN MAIL #0 ======
I20150715-18:14:02.642(0)? (Mail not sent; to enable sending, set the MAIL_URL environment variable.)
I20150715-18:14:02.643(0)? MIME-Version: 1.0
I20150715-18:14:02.643(0)? From: [email protected]
I20150715-18:14:02.643(0)? To: [email protected]
I20150715-18:14:02.643(0)? Subject: Meteor Can Send Emails via Gmail
I20150715-18:14:02.643(0)? Content-Type: text/plain; charset=utf-8
I20150715-18:14:02.643(0)? Content-Transfer-Encoding: quoted-printable
I20150715-18:14:02.644(0)?
I20150715-18:14:02.644(0)? Its pretty easy to send emails via gmail.
I20150715-18:14:02.645(0)? ====== END MAIL #0 ======
Könnte dies zurückzuführen sein, den ich bin mit dieser auf C9?
Dank
- scheint diese links helfen u One & Zwei
- nicht sicher, ob dies helfen wird, aber vielleicht versuchen Sie port 25 oder 587. Abhängig von Ihrer Konfiguration: support.google.com/a/answer/176600?hl=en
- Vielleicht ist es, weil ich kippe setzen Sie die Umgebungsvariable meiner Test-site in der Cloud9-Plattform?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Saugt, dass cloud9 nicht erlaubt die Einstellung der environment-Variablen. Vielleicht können Sie die
Meteor.settings
Objekt eher als eine Umgebungsvariable?http://docs.meteor.com/#/full/meteor_settings
Im wesentlichen, die Sie übergeben können, JSON, meteor, wenn Sie es starten mit --Einstellungen. Diese werden auf der server-Seite nur, es sei denn, verpackt unter einer "public" - Objekt die Wurzel.
Dass ist eine Arbeit um für den Umgang mit nicht envrionmental Variablen. Als Kern der E-Mail-Paket sieht immer am MAIL_URL Umwelt-Variablen, werden Sie wahrscheinlich benötigen, senden von E-Mails über einen anderen service/Anbieter.
Mandrill (durch Mailchimp) haben eine beträchtliche freie tier und erlauben das senden von Transaktions-E-Mails. Sie können sogar eine E-mail-Vorlage in mailchimp, export zu HTML, import mandrill und pass in der merge-Variablen in deine API-Aufrufe.
Besser noch, es ist ein kick-ass-Paket für das schreiben auf der Mandrill-API. https://atmospherejs.com/wylio/mandrill
Hoffe, das hilft!
Elliott
entschied sich aber für Antwort auf meine eigene Frage trotzdem.
Ich nicht und kann ich nicht festlegen, C9 oder meine Test Website env-variable, so dass s warum.
Den
Meteor.startup(callback)
Methode ausgeführt wird am Ende des Meteor-Initialisierung, aber Sie senden Ihre E-Mail vor dem Start, so senden Sie es in den gleichen block, nachprocess.env.MAIL_URL
..Sie KÖNNEN Umgebungsvariablen verwenden C9! Sie übergeben Sie einfach es in, wenn Sie Sie ausführen meteor.
ABER Sie können nicht senden Sie E-Mail mit SMTP-obwohl auf c9!
Machen mein Leben leichter, ich weiß nur nicht testen, meine E-Mails auf c9 mit Meteor.
Wenn ich absolut muss ich umgehen die E-Mail-Funktion und verwenden Sie eine benutzerdefinierte emailer statt, der sendet mit die MailGun-REST-API (NICHT SMTP!!)
Sehen Senden von E-Mails über Google Mail SMTP - Meteorjs