i just want to send my html files directly typing ./blabla.html and not creating a campaign or a template. Is there a way to send the mails without putting embedded code ? If so, i would be so happy, thanks ! My current code looks like this :
var helper = require('sendgrid').mail
from_email = new helper.Email("blabla@hotmail.com")
to_email = new helper.Email("heyhey@gmail.com")
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)
})
You might need to update your sendgrid
package. A working example based on your requirements looks something like this :
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("blabla@hotmail.com");
to_email = new helper.Email("heyhey@gmail.com");
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);
}
});
The myfile.html
file is right next to this .js
file and looks something like this :
<html>
<head>
<title> Test </title>
</head>
<body>
<h2> Hi! </h2>
<p> This is a test email </p>
</body>
</html>