smtp发送邮件

群发两个邮箱,一个163,一个QQ
package main

import (
"fmt"
"net/smtp"
"strings"
) const (
HOST = "smtp.163.com"
SERVER_ADDR = "smtp.163.com:25"
USER = "xxx@163.com" //发送邮件的邮箱
PASSWORD = "xxxxx" //发送邮件邮箱的密码
) type Email struct {
to string "to"
subject string "subject"
msg string "msg"
} func NewEmail(to, subject, msg string) *Email {
return &Email{to: to, subject: subject, msg: msg}
} func SendEmail(email *Email) error {
auth := smtp.PlainAuth("", USER, PASSWORD, HOST)
sendTo := strings.Split(email.to, ";")
done := make(chan error, 1024) go func() {
defer close(done)
for _, v := range sendTo { str := strings.Replace("From: "+USER+"~To: "+v+"~Subject: "+email.subject+"~~", "~", "\r\n", -1) + email.msg err := smtp.SendMail(
SERVER_ADDR,
auth,
USER,
[]string{v},
[]byte(str),
)
done <- err
}
}()
for i := 0; i < len(sendTo); i++ {
<-done
}
return nil
} func main() {
mycontent := "this is go test email"
email := NewEmail("xxx@163.com;xxx@qq.com;",
"test golang email", mycontent)
err := SendEmail(email)
fmt.Println(err)
}
验证邮箱

发送钉钉简介

钉钉报警设置

创建群机器人

接口地址

发送短消息

发送普通消息
package main

import (
"fmt"
"net/http"
"strings"
) func main() {
SendDingMsg("zhou","1234")
} func SendDingMsg(name ,msg string) {
//请求地址模板
webHook := `https://xxxx`
content := `{"msgtype": "text",
"text": {"content": "` + name+ ":" + msg + `"}
}`
//创建一个请求
req, err := http.NewRequest("POST", webHook, strings.NewReader(content))
if err != nil {
// handle error
} client := &http.Client{}
//设置请求头
req.Header.Set("Content-Type", "application/json; charset=utf-8")
//发送请求
resp, err := client.Do(req)
//关闭请求
defer resp.Body.Close() if err != nil {
// handle error
fmt.Println(err)
}
}

Go之发送钉钉和邮箱的更多相关文章

  1. TFS发布计划发送到钉钉消息群

    由于工作中需要用到钉钉,每天都要和钉钉打交道:上下班打卡.出差请假流程.各种工作讨论组,不一而足,工作已然和钉钉绑在了一起,难怪有广告词: 微信是一个生活方式,钉钉是一个工作方式. 我们是钉钉机器人内 ...

  2. .Net调用钉钉接口,实现发送企业消息功能

    我在钉钉官网上看了下,关于调用钉钉接口,发送企业消息通知,他给的核心代码总共几行. 用到的一个接口引用 TopSDK.dll 下载网址https://open-doc.dingtalk.com/doc ...

  3. 钉钉自定义机器人 发送文本 换行 \n无效果

    今天用php做钉钉自定义机器人 发送文本 换行 \n无效果,原来是我一直用单引号作为定义字符串,换成双引号就ok了.

  4. jenkins 构建后发送钉钉消息通知(插件)

    钉钉,越来越多的公司采用,那么我们在持续集成中,也可以直接选择钉钉插件的,在之前的博客中 ,对发送的钉钉消息进行了定制,那样的话会开启一个新的任务, 其实今天呢,我们可以直接安装一个插件就可以发送了, ...

  5. 钉钉机器人集成Jenkins推送消息模板自定义发送报告

    一.由于公司同样也使用了钉钉.那么在做Jenkins集成自动化部署的时候,也是可以集成钉钉的. 那种Jenkins下载钉钉插件集成,简单设置就可以完成了.我们今天要做的是,定制化的发送消息. 钉钉推送 ...

  6. 使用python对mysql主从进行监控,并调用钉钉发送报警信息

    1.编写python的监控脚本 A.通过获取mysql库中的状态值来判断这个mysql主从状态是否正常 B.进行两个状态值的判断 C.进行调取钉钉机器人,发送消息 2.设置定时任务进行脚本运行 cro ...

  7. Python封装发送信息到钉钉群

    发送信息到钉钉群 from dingtalkchatbot.chatbot import DingtalkChatbot class SendText: def __init__(self, webh ...

  8. springboot使用RestTemplate以post方式发送json字符串参数(以向钉钉机器人发送消息为例)

    使用springboot之前,我们发送http消息是这么实现的 我们用了一个过时的类,虽然感觉有些不爽,但是出于一些原因,一直也没有做处理,最近公司项目框架改为了springboot,springbo ...

  9. linux创建定时任务发送钉钉通知

    一.现在钉钉里面添加机器人 添加成功后,复制出Webhook链接. 注意,自定义关键字时你的发送信息中一定要完整包含关键字 二.找到自己的服务器 1. sudo su 切换到root用户 2.cron ...

随机推荐

  1. Dell XPS 7590 Hackintosh

    网上主流引导Hackintosh的工具有Chameleon, Clover和OpenCore. 但是随着Hackintosh重要驱动开发团队acidanthera逐渐转向OpenCore,后者显然才是 ...

  2. 【奇淫巧技】sqlmap绕过过滤的tamper脚本分类汇总

    sqlmap绕过过滤的tamper脚本分类汇总

  3. 题解【QTree3】

    题目描述 给出N个点的一棵树(N-1条边),节点有白有黑,初始全为白 有两种操作: 0 i : 改变某点的颜色(原来是黑的变白,原来是白的变黑) 1 v : 询问1到v的路径上的第一个黑点,若无,输出 ...

  4. git 上传文件到 gitee 码云远程仓库

    一 , 想将码云仓库里面的代码,抓取下来 1.git remote add origin 地址 2. git remote -v 3. it pull  origin master 二 , 将自己创建 ...

  5. IDEA项目区模块文件变为红色解决办法

    解决方法 先检查文件格式是否为.java格式..class格式就不行. 选择file–>setting–>version Controller,然后把vcs选项选择为none

  6. 1、微信小程序开发介绍。

    微信小程序如何能达到快速的开发效果,下面首先介绍一下需要的框架,使用这些框架可以减少大部分编写代码时间. 微信小程序使用的框架:weui开源框架 后端数据使用的框架(包含管理和api接口框架):YiS ...

  7. Flask实现群聊

    后端 from geventwebsocket.handler import WebSocketHandler from gevent.pywsgi import WSGIServer from ge ...

  8. 以太坊PoW

    ethash ethash(eth+hash)是以太坊设计的挖矿算法,为了实现ASIC-resistance,ethash依赖于对内存资源的访问,是一种memory-hard函数.同时为了支持轻节点对 ...

  9. go读取excel表格数据

    go读取excel表格数据 使用工具 github.com/Luxurioust/excelize 百度到的都是使用这个 实际上已经改名了 github.com/360EntSecGroup-Skyl ...

  10. lvs搭建dr负载均衡集群

    一,查看本地centos的版本: [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) ...