使用 GOLANG 发送邮件

使用 GOLANG 发送邮件

我们一起来回顾一下上一次咱们说到的GO 的验证码案例

  • 验证码种类梳理
  • 验证码库的安装
  • 验证码库的源码介绍
  • 实操,编码
  • 验证码效果展示

想看看GO 咋做验证码的,欢迎查看文章 GO 的验证码案例

生活和工作中,咱们都离不开邮件的收发,要么在手机上查收和发送,要么在自己的电脑前面进行邮件编辑和处理

可是,我们会发现,很多时候,某类邮件,咱们每天都必须要在同一个时刻发出去,并且内容也是大同小异的,

而且,有时候因为各种各种各样的原因,不能准时的发送邮件,这个时候,咱们如果可以写一个定制化的发送邮件的程序那可以说还是很香的

那么,咱们还是先来看看一些基本的常识吧

邮件是什么?

邮件是指经传递方式处理的文件

邮件进行传递的过程称为邮递,而从事邮递服务的机构或系统,则称为邮政

邮件有国内邮件和国际邮件两类

那么电子邮件又是个啥?

电子邮件是—种用电子手段提供信息交换的通信方式是互联网应用最广的服务

电子邮件的优势是啥?

电子邮件依托于网络的电子邮件系统,有如下优势:

  • 价格非常低廉

不管发送到哪里,都只需负担网费

  • 传输快速

几秒钟之内可以发送到世界上任何指定的目的地,与世界上任何一个角落的网络用户联系

电子邮件的形式是啥样的?

  • 文字
  • 图像
  • 声音等

想一想每次发邮件都需要经历如下的步骤

  • 打开电脑
  • 进入浏览器
  • 打开电子邮件
  • 新建 - 编辑 - 发送

大部分内容还是复制粘贴的,

妥妥的一个工具人,好滴,现在就来看看 使用 GOLang 咋发邮件

邮件协议

咱们使用编程语言需要遵守编程语言的规范,我们在浏览器里面浏览网页也是一样,需要遵循各种网络协议

那么,我们发送邮件的必须也要先知道有哪些邮件协议可以使用,咱们都来列举一下

  • SMTP

SMTP是 简单邮件传输协议,是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式

另外 SMTP 协议属于TCP/IP协议簇

  • POP3

邮局协议的第3个版本,是因特网电子邮件的第一个离线协议标准

  • IMAP

是一种优于POP的新协议

POP一样,IMAP也能下载邮件、从服务器中删除邮件或询问是否有新邮件

IMAP可让用户在服务器上创建并管理邮件文件夹或邮箱、删除邮件、查询某封信的一部分或全部内容

最终完成所有这些工作都不需要把邮件从服务器下载到用户的个人计算机上

OK,让我们开始进入到编码环节

开始编码发邮件

咱们今天就使用 SMTP 协议来发送邮件,有如下几个步骤

  • 在 QQ 邮箱上面,拿到授权码
  • 编码,并安装email 邮件库
  • 开始发送邮件

QQ 邮箱上面,拿到授权码

  • 进入 QQ邮箱,点击 设置 -> 账户

  • 下滑页面,看到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

  • 开启 POP3/SMTP服务
  • 开启 IMAP/SMTP服务
  • 生成授权码,这个授权码自己找地方保存起来

编码,并安装email 邮件库

咱们本次写的邮件小案例,用到的GO 的包是 "github.com/jordan-wright/email" , 我们可以这样来手动安装

 go get github.com/jordan-wright/email

不进行手动安装也没有问题,咱们可以现在看看 写一个初版的发送邮件小案例

package main

import (
   "github.com/jordan-wright/email"
   "log"
   "net/smtp"
)

func main() {
   
   // 简单设置 log 参数
   log.SetFlags(log.Lshortfile | log.LstdFlags)

   em := email.NewEmail()
   // 设置 sender 发送方 的邮箱 , 此处可以填写自己的邮箱
   em.From = "xx <xxx@qq.com>"
    
   // 设置 receiver 接收方 的邮箱  此处也可以填写自己的邮箱, 就是自己发邮件给自己
   em.To = []string{
   "xxx@qq.com"}
    
   // 设置主题
   em.Subject = "小魔童给你发邮件了"
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值