Go语言邮件群发器 main.go

// Multi-SendEmail project main.go
package mainimport ("bufio""errors""fmt""io""io/ioutil""net/smtp""os""strings""time"
)func SendMail(user, password, host, to, subject, body, mailtype string) error {hp := strings.Split(host, ":")auth := smtp.PlainAuth("", user, password, hp[0])var content_type stringif mailtype == "html" {content_type = "Content-Type: text/html;charset=UTF-8"} else {content_type = "Content-Type: text/plain;charset=UTF-8"}msg := []byte("To: " + to + "\r\nFrom: " + user + "<" + user + ">\r\nSubject: " + subject + "\r\n" + content_type + "\r\n\r\n" + body)send_to := strings.Split(to, ";")err := smtp.SendMail(host, auth, user, send_to, msg)return err
}func readLine2Array(filename string) ([]string, error) {result := make([]string, 0)file, err := os.Open(filename)if err != nil {return result, errors.New("Open file failed.")}defer file.Close()bf := bufio.NewReader(file)for {line, isPrefix, err1 := bf.ReadLine()if err1 != nil {if err1 != io.EOF {return result, errors.New("ReadLine no finish")}break}if isPrefix {return result, errors.New("Line is too long")}str := string(line)result = append(result, str)}return result, nil
}func main() {fmt.Println("start...")user := "邮箱@qq.com"password := "密码"host := "smtp.qq.com:25"   //QQ为例subject := "邮件标题"sendTo, err := readLine2Array("send.txt")if err != nil {fmt.Println(err)return}content, err := ioutil.ReadFile("email.txt")if err != nil {fmt.Println(err)return}body := string(content)for i := 0; i < len(sendTo); i++ {to := sendTo[i]fmt.Println("Send email to " + to)err = SendMail(user, password, host, to, subject, body, "html")if err != nil {fmt.Println("send mail error!")fmt.Println(err)i--time.Sleep(600 * time.Second)} else {fmt.Println("send mail success!")}}
}

使用说明:

编译出exe文件,把要发送的邮箱一行一个放入send.txt中,邮件内容放入email.txt中(HTML格式),运行。

这代码我也有在用,有很多不灵活的地方,仅供参考。

注意:注意端口号到底是哪个哦。

GoLang语言:邮件群发器相关推荐

  1. 用C#打造匿名邮件群发软件

    用C#打造匿名邮件群发软件 masepu(本文已发表于黑客防线,转载请注明出处) 电子邮件攻击是最常见的网络攻击手法之一,黑客们通过电子邮件发送木马.病毒或是包含有攻击性或信息获取脚本的特定html代 ...

  2. 邮件群发工具的编写(四)邮件跟踪服务

    不管黑猫白猫,抓得到老鼠的就是好猫 上一篇,邮件群发工具的编写(三)邮件发送的几种方式 中,我们谈到了发送邮件.这一篇,我们讲讲邮件跟踪服务器的创建 邮件群发出去之后,很多朋友都想知道群发的效果.这就 ...

  3. 落草QQ群成员提取器,邮件群发

    小软件,大功能,最好的寻找定向流量邮件营销利器: 我们经常利用QQ加入一些我们自己感兴趣的主题QQ群,那么这个QQ群里面的其他QQ用户肯定也是对此感兴趣,因为没人强迫加入群.既然这样,如果我们有某些产 ...

  4. C++实现邮件群发的方法

    这篇文章主要介绍了C++实现邮件群发的方法,较为详细的分析了邮件发送的原理与C++相关实现技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C++实现邮件群发的方法.分享给大家供大家参考.具 ...

  5. Golang语言全栈开发视频教程全集

    基础课: 语言基础第01天(变量和基本类型) 语言基础第02天(运算符和流程控制) 语言基础第03天(循环函数和工程管理) 语言基础第04天(工程管理和数组) 语言基础第05天(切片和map) 语言基 ...

  6. 如何更新 Exchange2003 SP2 中的智能邮件筛选器版本

    概要 本文介绍了可用于维护 Microsoft Exchange 2003 Service Pack 2 (SP2) 所附带的智能邮件筛选器版本 2 的更新过程. 在每月的第一个和第三个星期三,将通过 ...

  7. golang语言编译的二进制可执行文件为什么比 C 语言大(转载)

    最近一位朋友问我"为什么同样的hello world 入门程序"为什么golang编译出来的二进制文件,比 C 大,而且大很多.我做了个测试,来分析这个问题.C 语言的hello ...

  8. 语言与golang语言运行速度_Golang语言情怀第13期 Go 语言设计模式 介绍

    设计模式是什么 俗话说:站在别人的肩膀上,我们会看得更远.设计模式的出现可以让我们站在前人的肩膀上,通过一些成熟的设计方案来指导新项目的开发和设计,以便于我们开发出具有更好的灵活性和可扩展性,也更易于 ...

  9. Snovio软件怎么用?请看这篇邮件群发平台使用指南

    在本文中,我们将为您提供分步指导,使用Snovio邮件群发软件(https:www.snovio.cn)并构建自己的自动化邮件营销-从收集客户邮箱地址到启动针对目标客户的复杂序列邮件,所有这些都在一个 ...

  10. 算法和数据结构(golang语言实现)

    算法和数据结构(golang语言实现) 第1节 选择.冒泡.插入.复杂度 选择排序 选择排序 时间复杂度为O(N^2) 额外空间复杂度O(1) 过程: arr[0-N-1]范围上,找到最小值所在的位置 ...

最新文章

  1. UI自动化测试中的页面定位问题,年薪50W软件测试工程师为你解答
  2. 模拟出ios中流行的黑色背景底
  3. Java 和 HTTP 的那些事(四) HTTPS 和 证书
  4. mybatis plus 日志打印_mybatis升级为mybatis-plus踩到的坑
  5. 改变vim注释的颜色
  6. 启明云端分享|ESP32-S3 Smartconfig一键配网
  7. 每周分享第 19 期(20190426)
  8. 单例模式在JDK应用的源码分析
  9. Java PropertyPermission getActions()方法与示例
  10. GAE 博客——B3log Solo 0.3.0 正式版发布了!
  11. 后台程序全局钩子获取鼠标滚轮滚动方向(VB6.0)
  12. 最新软件设计师考试大纲
  13. 【现代卫星导航系统】之北斗卫星导航系统
  14. 查看mysql 当前锁级别_mysql innodb下的锁及隔离级别
  15. 一文讲清跨境S2B2C模式及线上品牌/新零售品牌实战打法
  16. 天影字幕_天影字幕(GeniusCG) V 12.50 官方版
  17. div+css制作哆啦A梦
  18. 宝塔服务器源代码修改记录,宝塔BT面板修改相关记录,所有插件免费用
  19. 【摘】WebGIS开发从入门到......
  20. 好嗨游戏:LPL春季赛决赛在即,黑8传奇JDG迎战S8冠军IG

热门文章

  1. JAVA面大厂简历怎么写_大厂程序员来谈一谈要如何写简历!!(附简历模板)...
  2. P3554 LUK-Triumphal arch 解题报告
  3. 书摘---创业36条军规3:创业人七大须知
  4. html ui windows 风格,5个最佳开源Metro风格(Windows UI)CSS框架
  5. 分享5款干净好用的电脑浏览器,用最后一款工作不累
  6. python spark pyspark——朴素贝叶斯习题整理
  7. 关闭colorbox刷新页面
  8. java_求1到n英寸换算厘米 (右对齐,保留两位小数)
  9. 简述关于ASP.NET MVC与.NET CORE 的区别
  10. 关于VS2005中C#代码用F12转到定义时,总是显示从元数据的问题?