发测试邮件或垃圾邮件node脚本
npm install nodemailer
执行后,指定目录下会出现node_modules模块,再相同目录下,创建main.js,js代码如下:
var nodemailer = require("nodemailer");
var fs = require('fs');
var file = fs.readFileSync(__dirname + '/test.html', "utf8"); // 这里修改下要读的页面文件名称
// 创建登陆所需配置
var smtpTransport = nodemailer.createTransport("SMTP",{
service: "163",
host: "smtp.163.com", //这里选用的是163邮箱代发,可改为gmail等
auth: {
user: "user@163.com", // 邮箱账号
pass: "password" // 邮箱密码
}
});
// 配置邮件标题、发送地址等
var mailOptions = {
from: "测试号 ✔ ", // 代发邮箱
to: "desmail@sina.com", // 目的邮箱
subject: "我是测试邮件 ✔", // 邮箱标题
text: "Hello world ✔", //文本内容
html: file // html body
}
// 发送
smtpTransport.sendMail(mailOptions, function(error, response){
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message);
}
smtpTransport.close(); // 关闭
});
发测试邮件或垃圾邮件node脚本的更多相关文章
- Postfix上的反垃圾邮件的四个方法
在介绍如何配置Postfix的smtp配置之前有必要首先介绍一下它的背景和特点.Postfix是一个由IBM资助下由WietseVenema 负责开发的自由软件工程的一个产物,其目的是为用户提供除se ...
- 垃圾邮件分类实战(SVM)
1. 数据集说明 trec06c是一个公开的垃圾邮件语料库,由国际文本检索会议提供,分为英文数据集(trec06p)和中文数据集(trec06c),其中所含的邮件均来源于真实邮件保留了邮件的原有格式和 ...
- Exchange2010---反垃圾邮件配置
Exchange2010---反垃圾邮件配置 Exchange2010---反垃圾邮件配置 本文以Exchange Server 2010作为反垃圾邮件配置实例为例. 其实,在微软发布的Exc ...
- 论垃圾邮件危害性及U-Mail邮件系统必杀技
阿里集团今年“双十一电商节”又一次突破了去年营收,创造了新的历史.相信在电商日益渗入生 活的今天,你在日常工作中一定收到过某店铺发来的推广邮件,的确,邮件如今被电商广泛应用于消费者购物各环节,但是在其 ...
- Machine Learning for hackers读书笔记(三)分类:垃圾邮件过滤
#定义函数,打开每一个文件,找到空行,将空行后的文本返回为一个字符串向量,该向量只有一个元素,就是空行之后的所有文本拼接之后的字符串 #很多邮件都包含了非ASCII字符,因此设为latin1就可以读取 ...
- python 和 scikit-learn 实现垃圾邮件过滤
文本挖掘(Text Mining,从文字中获取信息)是一个比较宽泛的概念,这一技术在如今每天都有海量文本数据生成的时代越来越受到关注.目前,在机器学习模型的帮助下,包括情绪分析,文件分类,话题分类,文 ...
- Linux安全应用之防垃圾邮件server的构建
Linux安全应用之防垃圾邮件server的构建 一.垃圾邮件产生的原因 垃圾邮件(SPAM) 也称作UCE(Unsoticited Commercial Email.未经许可的商业电子邮件)或UBE ...
- Linux安全应用之防垃圾邮件服务器的构建
Linux安全应用之防垃圾邮件服务器的构建 一.垃圾邮件产生的原因 垃圾邮件(SPAM) 也称作UCE(Unsoticited Commercial Email.未经许可的商业电子邮件)或UBE(Un ...
- 基于C#的机器学习--垃圾邮件过滤
在这一章,我们将建立一个垃圾邮件过滤分类模型.我们将使用一个包含垃圾邮件和非垃圾邮件的原始电子邮件数据集,并使用它来训练我们的ML模型.我们将开始遵循上一章讨论的开发ML模型的步骤.这将帮助我们理解工 ...
随机推荐
- DevExpress MessageBox 弹出框 底层类
效果图: 前台调用: //图一的前台调用 MessageBox.Show("测试", "标题", MessageBoxButtons.OK); //图二的前台调 ...
- linux-多线程
一.什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立执行的基本单位.线程自己基本上不拥有系统资源,仅仅拥有一点在执行中不可缺少的资源(如程序计数器,一组寄存器和 ...
- [Erlang]怎样加入自己的BIF
步骤 1. 执行configure 2. 将你的bifs加入至erts/emulator/beam/bif.tab bif re:grep/2 bif re:compile/1 3. 创建一个C代码文 ...
- CCLabelAtlas创建自定义字体
有时候游戏中要用到一些特殊的字体效果,特别是数字. CCLabelAtlas就可以从png图中读取文字. CCLabelAtlas* diceCount=CCLabelAtlas::labelWith ...
- Open quote is expected for attribute "{1}" associated with an element type "name".
xml属性必须用引号“”,不能缺少.
- Java基础知识强化之集合框架笔记73:如何选择使用哪种集合
1. 到底使用那种集合. 看需求 是否是键值对象形式: 是:Map 键是否需要排序: 是:TreeMap 否:HashMap 不知道,就使用HashMap. 否:Collection 元素是否唯 ...
- 客户端脚本语言javascript
2015.11.27 客户端脚本语言javascript. (叫这个名字的原因.想要攀高枝,希望变得和他一样通用.关于名字之间的关系类似于雷锋和雷峰塔,巴基斯坦和卡巴斯基,苏格拉底跟格拉苏蒂的关系一 ...
- ArcGIS Server JavaScript API 各命名空间的含义【转】
1.esri 命名空间 所有的对象都是在 esri 命名空间下的,esri 有自己的属性和方法. 如 esri.version 返回当前 JavaScript API 的版本号.e ...
- uboot之at91sam9g45移植
一.第一阶段,无修改 二.第二阶段 u-boot-1.3.4\lib_arm\board.c 1.增加头文件 2.增加版本号 3.start_armboot中初始化部分 板级初始化部分init_seq ...
- Atom编辑器入门到精通(三) 文本编辑基础
身为编辑器,文本编辑的功能自然是放在第一位的,此节将总结常用的文本编辑的方法和技巧,掌握这些技巧以后可以极大地提高文本编辑的效率 注意此节中用到的快捷键是Mac下的,如果你用的系统是Win或者Linu ...