2016-08-02 17 views
1

Ich möchte nur meine HTML-Dateien direkt mit der Eingabe ./blabla.html und nicht eine Kampagne oder eine Vorlage erstellen. Gibt es eine Möglichkeit, die E-Mails ohne eingebetteten Code zu senden? Wenn ja, würde ich mich freuen, danke! Meine aktuellen Code sieht wie folgt aus:Sendgrid Senden HTML-E-Mail ohne eingebetteten Code

var helper = require('sendgrid').mail 
 
    from_email = new helper.Email("[email protected]") 
 
    to_email = new helper.Email("[email protected]") 
 
    subject = "Merhaba !" 
 
    content = new helper.Content("text/plain", "selam") 
 
    mail = new helper.Mail(from_email, subject, to_email, content) 
 
} 
 

 
var sg = require('sendgrid').SendGrid("mysecretapikey") 
 
    var requestBody = mail.toJSON() 
 
    var request = sg.emptyRequest() 
 
    request.method = 'POST' 
 
    request.path = '/v3/mail/send' 
 
    request.body = requestBody 
 
    sg.API(request, function (response) { 
 
    console.log(response.statusCode) 
 
    console.log(response.body) 
 
    console.log(response.headers) 
 
    })

+0

Warum nicht die HTML-Datei in einen String gelesen so: http://stackoverflow.com/questions/18386361/read-a-file-in-node-js? Beachten Sie auch, dass Sie 'text/html' für' content' möchten, wenn Sie es als HTML senden möchten. –

+0

Das ist ok, aber ich kann nicht finden, wo diese Leseoperation zu setzen. Wenn ich den Lese-Func anrufe, liest er einfach den Inhalt auf cmd und sendet die Mail an den Empfänger, der den Funktionsnamen schreibt. Irgendeine Hilfe ? @ Sebastian-LaurenţiuPlesciuc – MeganLondon

Antwort

2

Unter Umständen müssen Sie Ihre sendgrid Paket aktualisieren. Ein Arbeitsbeispiel auf Basis Ihrer Anforderungen sieht ungefähr so ​​aus:

var fs = require('fs'); 
var path = require('path'); 

var filePath = path.join(__dirname, 'myfile.html'); 

fs.readFile(filePath, {encoding: 'utf-8'}, function(err, data) { 
    if (! err) { 
     var helper = require('sendgrid').mail; 
     from_email = new helper.Email("[email protected]"); 
     to_email = new helper.Email("[email protected]"); 
     subject = "Merhaba !"; 
     content = new helper.Content("text/html", data); 
     mail = new helper.Mail(from_email, subject, to_email, content); 

     var sg = require('sendgrid')('your api key'); 
     var requestBody = mail.toJSON(); 
     var request = sg.emptyRequest(); 
     request.method = 'POST'; 
     request.path = '/v3/mail/send'; 
     request.body = requestBody; 
     sg.API(request, function (error, response) { 
     if (! error) { 
      console.log(response.statusCode); 
      console.log(response.body); 
      console.log(response.headers); 
     } else { 
      console.log(error); 
     } 
     }); 
    } else { 
     console.log(err); 
    } 
}); 

Die myfile.html Datei auf diese .js Datei direkt neben und sieht etwa so aus:

<html> 
<head> 
    <title> Test </title> 
</head> 
<body> 
    <h2> Hi! </h2> 
    <p> This is a test email </p> 
</body> 
</html> 
+0

Vielen Dank! Dieser hat wirklich tausende von Dankeschön gemacht! – MeganLondon

Verwandte Themen