1.在windows系统下,需要首先定义两个环境变量GOPATH和GOROOT, GOPATH是第三方类库的代码目录 , GOROOT是go的安装目录

2.按照我的定义 , 进入这个目录D:\golang\code\src\github.com\emersion , 使用git 更新代码

git clone https://github.com/emersion/go-imap.git
git clone https://github.com/emersion/go-sasl.git

package main

import (
"github.com/emersion/go-imap"
"github.com/emersion/go-imap/client"
"log"
) const (
server = "imap.sina.net:993"
username = "shihan@sopans.com"
password = "xxxx"
) func main() {
var c *client.Client
var err error
log.Println("Connecting to server...")
c, err = client.DialTLS(server, nil)
//连接失败报错
if err != nil {
log.Fatal(err)
}
log.Println("Connected")
//登陆
if err := c.Login(username, password); err != nil {
log.Fatal(err)
}
log.Println("Logged in")
mailboxes := make(chan *imap.MailboxInfo, 20)
go func() {
c.List("", "*", mailboxes)
}()
//列取邮件夹
for m := range mailboxes { mbox, err := c.Select(m.Name, false)
if err != nil {
log.Fatal(err)
}
to := mbox.Messages
log.Printf("%s : %d", m.Name, to)
}
}

  

[Go] golang使用github里的imap类库的更多相关文章

  1. golang实现php里的serialize()和unserialize()序列和反序列方法

    Golang 实现 PHP里的 serialize() . unserialize() 安装 go get -u github.com/techleeone/gophp/serialize 用法 pa ...

  2. 【问题解决方案】本地代码文件上传到GitHub里中文乱码问题

    刚刚学完Git并试着上传了我的化石Java代码到远程库,表面一切和谐,然而.. 真让人大惊失色.. step1-检查浏览器是否是utf-8(谷歌默认是) step2-在本地编辑器设置 (按理说,not ...

  3. jenkins~管道Pipeline里使用公用类库

    Pipeline使用了groovy语法,同时可以使用所有jenkins插件在groovy里进行调用,可以说通过UI可以实现的功能使用pipeline也可以实现,这一点我在上一篇文章里已经说明,今天主要 ...

  4. 关于github里readme编辑的方法

    实验室的老师昨天改完论文发我后,说按照例子改.于是才发现github里readme编辑满满的极客思维. 看了一下csdn给的教程 https://blog.csdn.net/Kaitiren/arti ...

  5. github里的readme.md

    在github里如何写readme.md https://www.cnblogs.com/guchunli/p/6371040.html----------------------> READM ...

  6. github里的gist是什么意思

    在有关github的客户端中经常遇到gist这个词,如Gists->My Gists,Public Gists. 字典里解释gist为(发言.谈话或文章的)主旨,要点.百度百科的解释太恶心,我不 ...

  7. 用Git将项目发布在GitHub里

    转载自http://blog.csdn.net/u011572517/article/details/50537407,个人加了一些注意事项和解释. githud是一个程序员以后成长都会使用到的,先不 ...

  8. 【问题解决方案】下载GitHub里的单个文件

    背景:在不把整个项目弄下来的情况下 步骤:raw --> 右击 --> 链接另存为... 参考:如何用浏览器从 github 上下载某项目中的单个文本文件

  9. github里如何删除一个repository仓库

    高手请绕行,新手往下走. 作为一个刚接触github(https://github.com/)的新手,除了感叹开源的丰富和强大之外,自己肯定也想试用一下,因此申请帐号神马的.今天自己创建一个Repos ...

随机推荐

  1. Ubuntu出现卡logo、卡住、黑屏无法正常启动、屏幕和键盘背光无法调节等一系列问题?可能是NVIDIA显卡驱动没装好

    也不知道是幸运还是不幸,我从一开始接触ubuntu就遇到这一系列的问题, 而且一直没有一个彻底解决的办法,搞得我无比头疼,也害得我重装了无数遍系统... 国际惯例,只按照个人习惯和喜好来写,对某些人来 ...

  2. Cloud Native 云化架构阅读笔记

    一• Cloud Native CloudNative是什么? Cloud Native翻译为云原生,是Matt Stine提出的一个概念,它是一个思想的集合,包括DevOps.持续交付(Contin ...

  3. C语言复习1_变量与数据类型

    变量命名规则: 1.变量名的首字母或下划线(不能是其他特殊符号) 2.变量名的其他字母包含下划线.数字 和字母 3.不能使用关键字 基本数据类型 分为数值型和非数值型,其中数值型分为整型和非整型 整型 ...

  4. 【XSS】利用 onload 事件监控流量劫持

    说到跨站资源监控,首先会联想到『Content Security Policy』.既然 CSP 好用,我们何必自己再搞一套呢.那就先来吐槽下 CSP 的缺陷. 目前的 CSP 日志不详细 用过 CSP ...

  5. 回顾4180天在腾讯使用C#的历程,开启新的征途

    今天是2018年8月8日,已经和腾讯解除劳动关系,我的公司正式开始运营,虽然还有很多事情需要理清,公司官网也没有做,接下来什么事情都需要自己去完成了,需要一步一个脚印去完善,开启一个新的征途,我将在博 ...

  6. React Native 0.50版本新功能简介

    React Native在2017年经历了众多版本的迭代,从接触的0.29版本开始,到前不久发布的0.52版本,React Native作为目前最受欢迎的移动跨平台方案.虽然,目前存在着很多的功能和性 ...

  7. 【RL-TCPnet网络教程】第27章 DNS域名系统基础知识

    第27章      DNS域名系统基础知识 本章节为大家讲解DNS(Domain Name System,域名系统),通过前面章节对TCP和UDP的学习,需要大家对DNS也有个基础的认识. (本章的知 ...

  8. Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

    本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解. 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端. 代码的所有说明,都直接作为 ...

  9. 配置Zookeeper、Dubbox

    CentOS的配置: 1.给CentOS安装Zookeeper: 网络配置成仅主机 上传tar.gz:比如用FTP tar -xvzf ... cd zookeeper mkdir data cd c ...

  10. [Swift]LeetCode85. 最大矩形 | Maximal Rectangle

    Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and ...