Wie Hänge ich eine Datei an eine E-Mail mit nodemailer
Ich code haben, senden Sie E-Mail mit nodemailer in nodejs aber ich möchte anfügen einer Datei an eine E-Mail, aber ich kann nicht finden, die Art und Weise zu tun, dass ich die Suche net auf, aber ich konnte nicht finden, etwas nützliches.Gibt es irgendeine Möglichkeit, dass ich Dateien Anhängen, um mit dieser oder einer Ressource, die mir helfen können, legen Sie die Datei mit nodemailer?
var nodemailer = require('nodemailer');
var events = require('events');
var check =1;
var events = new events.EventEmitter();
var smtpTransport = nodemailer.createTransport("SMTP",{
service: "gmail",
auth: {
user: "[email protected]",
pass: "pass"
}
});
function inputmail(){
///////Email
const from = 'example<[email protected]>';
const to = '[email protected]';
const subject = 'example';
const text = 'example email';
const html = '<b>example email</b>';
var mailOption = {
from: from,
to: to,
subject: subject,
text: text,
html: html
}
return mailOption;
}
function send(){
smtpTransport.sendMail(inputmail(),function(err,success){
if(err){
events.emit('error', err);
}
if(success){
events.emit('success', success);
}
});
}
///////////////////////////////////
send();
events.on("error", function(err){
console.log("Mail not send");
if(check<10)
send();
check++;
});
events.on("success", function(success){
console.log("Mail send");
});
- Haben Sie check out stackoverflow.com/questions/4672903/...?
- ja ich lese es, aber ich kann nicht verstehen das genau beantworten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gehören in den var-mailOption die wichtigsten Anlagen, wie folgt:
}
Wählen Sie die option, die Ihren Bedürfnissen anpassen.
Link:Nodemailer GitHub-Repository
Glück!!
Habe ich getestet, jeder dieser Anhänge Methoden und keine ist für mich ok. Hier ist mein mailer-Funktion code, ohne die smtp-transport-config :
Dann der Anruf :
Die mail kommt, erfolgreich, aber ohne Anhang. Auch wenn ich einen string oder buffer-Anlage ist es das gleiche Ergebnis.
Wenn Sie auf der Durchreise sind options-Objekt im E-mail-composer-Konstruktor und die Anlage ist auf dem http-server dann sollte es so Aussehen:
Die alternative Lösung zu hosten Sie Ihre Bilder online mit einem CDN und link auf die online-Quelle für Bild in den HTML-Code, zB.
<img src="list_image_url_here">
.(Ich hatte Probleme mit nodemailer die Einbettung von Bildern mit nodemailer version 2.6.0, das ist der Grund, warum ich herausgefunden, diese Problemumgehung.)
Einen zusätzlichen Vorteil dieser Lösung ist, dass Sie versenden keine Anhänge zu nodemailer, so dass der Versand-Prozess ist mehr gestrafft.
Dein code ist fast richtig, nur brauchen, um hinzuzufügen, "Anhänge" - Eigenschaft für die Befestigung der Dateien in Ihrem E-mail,
IHRE mailOption:
Nur Anlagen hinzufügen, wie
Anlagen bieten auch eine andere Möglichkeit zum Anhängen einer Datei für weitere Informationen überprüfen Sie die nodemailer Gemeinschaft Dokumentation HIER