Skip to main content

moregeek program

golang:gomail一个简单高效的电子邮件发送包_彭世瑜的博客-多极客编程

Gomail is a simple and efficient package to send emails. It is well tested and documented.



译文:Gomail是一个简单高效的电子邮件发送包。它经过了良好的测试和记录。



文档



安装


go get gopkg.in/gomail.v2

示例


package main

import (
"gopkg.in/gomail.v2"
)

func main() {
// 邮件内容
m := gomail.NewMessage()

m.SetHeader("From", "demo@163.com")
m.SetHeader("To", "demo@qq.com")
m.SetHeader("Subject", "邮件标题")
m.SetBody("text/html", "<h2>邮件内容</h2>")

// 邮件服务器账号密码
// func NewDialer(host string, port int, username, password string) *Dialer
d := gomail.NewDialer(
"smtp.163.com",
25,
"demo@163.com",
"password",
)

// 发送邮件
d.DialAndSend(m)

}


©著作权归作者所有:来自51CTO博客作者彭世瑜的原创作品,请联系作者获取转载授权,否则将追究法律责任

链表专项练习(四)_萌新的日常的博客-多极客编程

(文章目录) 一、剑指 Offer 22. 链表中倒数第k个节点 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 示例: 给定一个链表: 1->2->3->4->5,

qt常用快捷键_五个板栗的博客-多极客编程

有的笔记本可能需要Fn配合以下键使用1 Esc 切换到代码编辑状态2 F1 查看帮助(选中某一类或函数,按下F1,出现帮助文档)3 F2 在光标选中对象的声明和定义之间切换(和Ctrl+鼠标左键一样的效果,选中某一类或函数,按下F2,迅速定位到该类或函数声明的地方或被调用的地方)4 F3 查找下一个5 F4 头文件和源文件之间切换6 F5 开始调试/继续执行7 F9 设置和取消断点8 F10 单步

django之数据库操作orm_细哥细妹的博客-多极客编程

使用 ​​models.py​​ 生成对应的表结构makemigrations:根据检测到的模型创建新的迁移,自动生成python语句,如:​​migrations/0001_initial.py​​。这个命令只是生成python文件,不会作用到数据库中migrate:执行刚生成的python脚本,在数据库中生成对应 表/字段 ,同时记录到 django_migrations 表中操作流程1.删除

链表专项练习(三)_萌新的日常的博客-多极客编程

(文章目录) 一、160. 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 自定义评测: 评测系统 的输入如下(你设计的程序 不适用 此输入): intersect

redis基于(list、pubsub、stream、消费者组)实现消息队列,基于stream结构实现异步秒杀下单_perceus.的博客-多极客编程

(目录) 上一篇博文部分: 秒杀优化 —— 基于阻塞队实现异步秒杀优化 及 基于Lua脚本判断秒杀库存、一人一单 Redis消息队列 1、Redis消息队列-认识消息队列 什么是消息队列? 字面意思就是存放消息的队列。 最简单的消息队列模型包括3个角色: 消息队列:存储和管理消息,也被称为消息代理(Message Broker) 生产者:发送消息到消息队列 消费者:从消息队列获取消

从零开始学 docker-容器数据卷实战_wx630f055ce23fc的博客-多极客编程

一.什么是容器数据卷通过前面的学习,我们知道 docker 是把应用和环境打包成镜像,那如果数据都在容器里,容器被删除数据就会丢失,我们需要让数据持久化。卷又是什么呢?容器之间有数据共享,产生数据同步到本地,其实就是个目录挂载,把容器内的目录挂载到虚拟机上或者 linux 上面,这就是卷。把容器里想要同步的镜像里的一个路径映射到本地,也就是容器的持久化和同步操作,容器之间可以数据共享。二.操作2.

go客户之导出excel_zzxiaoma的博客-多极客编程

通过点击导出按钮把单据内容全部导出到excel中,先添加路由 r.HandleFunc("/cusexcel", web.Cusexcel)通过web.Cusexcel方法进行导出 func Cusexcel(w http.ResponseWriter, r *http.Request) { cutomers, _ := dbdata.Cuslist() f := excelize.New

go客户之日志_zzxiaoma的博客-多极客编程

日志采用第三方库github.com/sirupsen/logrus package loggerimport ( "path" "time" "github.com/lestrrat-go/file-rotatelogs" "github.com/rifflock/lfshook" "github.com/sirupsen/logrus")var Log = logrus.New()f

go客户之删除_zzxiaoma的博客-多极客编程

通过id删除一条记录,先添加路由 r.HandleFunc("/cusdel", web.Cusdel)通过web.Cusdel方法进行删除 func Cusdel(w http.ResponseWriter, r *http.Request) { r.ParseForm() ids := r.Form["id"] id, _ := strconv.Atoi(ids[0]) dbdat

js:动态导入script脚本文件_彭世瑜的博客-多极客编程

实现原理 模仿百度统计的代码,将其封装成一个可重用的函数 <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?64ecd82404c51e03dc91cb9e8c

go语言之大数_zzxiaoma的博客-多极客编程

计算机编程经常需要权衡利弊,做相应的取舍,例如浮点数可以存储任意大小的数字,但是会不精确,整数虽然准确,但是取值范围受到限制。go中有个big包可以存储大数据,big.Int存储整数,big.Float存储浮点数,big.Rat存储分数。 创建big.Int使用NewInt函数 abc := big.NewInt(54232432)cde := big.NewInt(43222233)但是如果数

go语言之整型_zzxiaoma的博客-多极客编程

go提供了10种类型用于表示整数,由于每种整数类型的取值福范围不同,所以应该根据场景所需的范围来决定使用何种整数类型。 还有2个是int和uint,这2个类型是根据计算机架构自动选择合适的位长。在32位机器上就是32位值,在64位机器上就是64位值。 可以使用Printf函数的&T来查看变量的类型 abc := 43223fmt.Printf("type %T for %v\n",abc