Nodejs进程崩溃发送邮件

在项目发布后,nodejs进程遇到不可预测的BUG,崩溃后,我们想通过邮件通知开发人员。方便我们查找问题。

正好有一个插件,用起来很方便,记录在此。插件名字是nodemailer.地址https://github.com/andris9/Nodemailer/。

记录下自己在使用过程中碰到的问题,我经常使用的是QQ邮箱,但是例子里试GMail,那这个nodemailer还支持些什么服务呢。

nodemailer-wellknown中有介绍。   下面是我的实现代码

//对于异常,发送邮件给特定QQ邮箱的管理员,已发现问题
var ServerConfig = require(‘../Shared/Config/ServerConfig‘);
var nodemailer = require(‘nodemailer‘);

function ErrorMail(content)
{
    var transporter = nodemailer.createTransport({
        service:"QQ",
        auth : {
            user : ServerConfig.MailUser,
            pass : ServerConfig.MailPass
        }
    });
    var curDate = new Date();
    var subject = "MainServer崩溃" + curDate;
    var html = ‘<b>‘ + content + ‘</b>‘;

    var mailOptions = {
        from : ServerConfig.MailUser,
        to :ServerConfig.MailUser,
        subject :subject,
        text : ‘邮件测试内容‘,
        html : html
    };

    transporter.sendMail(mailOptions,function(error,info)
    {
        if(error)
            console.log(error);
        else
            console.log(‘Message sent: ‘ + info.response);
    });
}

module.exports.ErrorMail = ErrorMail;

其中ServerConfig是配置发送的邮箱.

var ServerConfig =
{
        MailUser : ‘[email protected]‘,
        MailPass : ‘XXXX‘
}
时间: 2024-10-10 15:41:02

Nodejs进程崩溃发送邮件的相关文章

nodejs 服务器 崩溃 2种解决办法

用node启动server后,发现服务器不稳定,经常crash.我是用ssh远程登录的,ssh远程通道中断,或者Ctrl+C,都会使nodejs server崩溃掉. 一,node server 崩溃模拟 1,ssh远程登录到nodejs的服务器,并启动node server [[email protected] nodejs]# node server.js Server running at port 8000 2,中断ssh连接,这个时候在通过url访问,就不行了. 二,nohup的解决办

linux C++ 网络通信 -- Broken pipe,接收端突然断开,发送没收到,仍然发送消息,会导致进程崩溃

最近做C++ 服务器时,两个服务器之间通信时,一个是logserver , 一个是gameserver ,gameserver 定时向logserver 发心跳包(也就是 logserver 相当于server , gameserver 相当于client ),突然断开logserver ,就相当于服务器崩溃了,客户端不知道,仍旧照常发数据,但是相应的连接不存在,gameserver 就会报 Broken pipe 的错误,之后,进程也崩溃了. 当然进程崩溃,是做服务器最不愿意看到的事情,所以,

Windows进程崩溃问题定位方法

Linux上进程崩溃通常会生成core文件,用gdb打开后执行bt命令即可查看堆栈.而在Windows平台上,我们通常会采用MiniDumpWriteDump来进行堆栈转储,而这需要对系统Api有一定的了解和编写一些代码.本文就结合实际项目经验,总结了一种无需编码即可记录进程崩溃堆栈的方法. 原理简介:使用nstd工具进行进程崩溃时内存和堆栈转储. 编译Release版本时打开调试选项,将exe和pdb文件一起发布. 2.使用批处理命令设置Windows系统在进程崩溃时调用的调试器为ntsd @

update_notifier 造成nodejs进程数量增长的问题

最近运维老大j哥找到我说了一个事儿:某私有化部署的线上环境nodejs进程数量多达1000+,对比公版线上环境的66个进程数显得十分诡异.并且单个nodejs进程所占用swap空间也较大,也不释放空间,日积月累下来是一个隐患. 我的debug过程比较顺畅,记录下来以备有同样烦恼者借鉴. 先用top命令发现,系统Task数量高达1300+,然后使用命令: ps -ef | grep node | wc -l 统计出有1306个进程 用ps -ef | grep node 查看进程列表 发现全是:

Nodejs&#183;进程

之前对这部分的内容很感兴趣,没想到读起来有点晦涩,还是因为对服务器的知识不是很了解. 说道服务器一般人都会想到tomcat或者Jboss或者weblogic,现在流行起来的Node总让人不太放心,JS代码也能做服务器?其实不然,首先一个误区就是Node的服务器是JS写出来的....其实它只有表面暴露给用户使用的模块是用js写的,底层的很多东西还是由C/C++完成的.如果运行在不同的操作系统上,node还会基于操作系统切换底层的实现方式. 再说说Nodejs的特性——最让人印象深刻的就是单线程事件

Nodejs使用mailer发送邮件

在实际应用中,有时需要服务器有特点的信息时及时的推送消息给你,而让你有所准备和处理,项目中服务器的个数比较多,所以管理服务器集群也不是很方便,我就是每台服务器上出现异常退出的时候都发送邮件到我的邮箱同时并重新启动Nodejs服务器. 废话不多说,实例上之: 首先,需要安装一个发送邮件的模块: npm install mailer 然后在代码中引入模块: var email = require("mailer"); 最后使用模块发送邮件: email.send( { ssl: true,

linux下监视进程 崩溃挂掉后自动重启的shell脚本

如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题.在Linux系统中,强大的shell就可以很灵活的处理这样的事务. 下面的shell通过一个while-do循环,用ps -ef|grep 检查loader进程是否正在运行,如果没有运行,则启动,这样就保证了崩溃挂掉的进程重新被及时启动. 必须注意两点: 1.ps |grep 一个进程时必须加上其路劲,否则容易grep到错误的结果: 2.必须用 -v 从结果中去除grep命令自身,否则结果非空. 复制代

Linux下利用coredump技术追查进程崩溃原因

原文链接:https://blog.csdn.net/u014585564/article/details/68063269 最近项目中出现了一个问题,服务器端程序会突然崩溃退出,我们采取了coredump技术以找到崩溃原因,即确定进程退出时正在执行的函数是哪个,其状态如何. 如果系统开启了coredump,准确的说如果当前的shell环境开启了coredump,当前shell环境下的程序崩溃退出时,会把当时进程的栈的内存状态写入core文件.使用gdb可以查看这个core文件中保存的栈的状态,

Nodejs+定时截图+发送邮件

功能 每天定时截图,并把截到的图片自动通过邮件发送. 说明 代码注释已经非常详细,就不多做说明,需要的朋友自己查看代码即可,主文件Mail.js,截图文件capturePart1.js,capturePart2.js,capturePart3.js,这里只展示了capturePart1.js其他两个类似.值得注意的是有登录权限的网站一定要设置Cookie,需要截取高质量图片的话截取时间一定设置长一些. Mail.js /**************************************