MailService
simple example:
var MailService = require("vertx-mail-js/mail_service");
var mailConfig = {
"hostname" : "mail.example.com",
"port" : 587,
"username" : "user",
"password" : "pw"
};
var mailService = MailService.create(vertx, mailConfig);
var email = {
"from" : "address@example.com",
"to" : "address@example.com",
"subject" : "meaningful subject",
"text" : "this is a message",
"html" : "HTML message <a href=\"http://vertx.io\">vertx</a>"
};
mailService.sendMail(email, function (result, result_err) {
if (result_err == null) {
console.log(result);
} else {
console.log("got exception");
result_err.printStackTrace();
};
});
attachments can be added as Buffer object
var MailService = require("vertx-mail-js/mail_service");
var Buffer = require("vertx-js/buffer");
// default config will use localhost:25
var mailConfig = {
};
var mailService = MailService.create(vertx, mailConfig);
var email = {
"from" : "address@example.com",
"to" : "address@example.com",
"subject" : "your file",
"text" : "please take a look at the attached file"
};
var attachment = {
"name" : "file.dat",
"data" : Buffer.buffer("ASDF1234\u0000\u0001\u0080\u00FF\n")
};
email.attachment = attachment;
mailService.sendMail(email, function (result, result_err) {
if (result_err == null) {
console.log(result);
} else {
console.log("got exception");
result_err.printStackTrace();
};
});
the service interface can send mails via the eventbus if the service is running on other machine in the cluster
var MailService = require("vertx-mail-js/mail_service");
var mailService = MailService.createEventBusProxy(vertx, "vertx.mail");
var email = {
"from" : "user@example.com",
"bounceAddress" : "bounce@example.com",
"to" : "user@example.com"
};
mailService.sendMail(email, function (result, result_err) {
console.log("mail finished");
if (result_err == null) {
console.log(result);
} else {
console.log("got exception");
result_err.printStackTrace();
};
});