前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Go] golang使用github里的imap类库

[Go] golang使用github里的imap类库

作者头像
唯一Chat
发布2019-09-10 11:05:20
1K0
发布2019-09-10 11:05:20
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

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

代码语言:javascript
复制
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)
	}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档