node.js ejsにてHTMLメールを送る


前回の記事では、EJSの基本TIPSを書きました。
それをふまえて、HTMLメールを送るTIPSを紹介します。


■メールを送る方法

こちらのブログ様にインスパイアされ、僕もemailjsを使う事にしました。

■テンプレートを使ってHTMLメールを送る方法

var fs = require("fs");
var ejs = require("ejs");
var email = require('emailjs/email');
var server = email.server.connect({

        host:'localhost',
        ssl:false

});
var headers = {
from:"xxxxxx@atosaku.com"
,to:"xxxxxx@gmail.com"
,subject:"【Atosakuレポート】今日は特売日!を送ります"
}
var message = email.message.create(headers);

fs.readFile("simpleMail.ejs","utf8", function(err,data){

  var locals = {"userName":"Yoshihiko Hoshino"};
  var renderResult = ejs.render(data,{"locals":locals});
  headers.text = renderResult;
  message.attach({data:renderResult,alternative:true});
  server.send(message,function(err,message){
    if(err != null){
      throw new Error(err);
    }else{
      console.log("sendOK");
    }
  });
}); 

EJSファイル

<%=userName %>さん、こんにちわ<br><br>
CSSで
<span style="font-size:20px;background-color:yellow;color:red;font-weight:bold;">
スーパーの特売!!
</span>も表現できます。
<br>
<a href="http://atosaku.com/">僕の作ったサイトはこちら(最後に宣伝)</a>

■動作確認方法

sudo tail -f /var/log/maillog を監視することで動作確認できます。

■結果

node.js ejsにて HTMLメールを送った結果

node.js ejsにて HTMLメールを送った結果の画像です

■関連キーワード

node.js レイアウト ejs
node.js メール 比較
node.js テンプレートエンジン まとめ
(ボタンをクリックすると、検索管理サービス「アトサク」にキーワードを登録できます。)
アトサクについては、本家ページをご参照下さい
[sc:採用情報へのリンク]