zoukankan      html  css  js  c++  java
  • [Go] golang使用github里的imap类库

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

    2.按照我的定义 , 进入这个目录D:golangcodesrcgithub.comemersion , 使用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)
    	}
    }
    

      

  • 相关阅读:
    HDU 2089 不要62
    NOIP 2012 疫情控制
    提高工作效率的shell工具
    log loss与ctr预估
    推荐系统
    浮点数的间隙
    graphviz初学入门指南
    sparse_hash_map、dense_hash_map和sparsetable的实现细节
    每天离不开的工具vim
    安利开发利器 -- tmux
  • 原文地址:https://www.cnblogs.com/taoshihan/p/10439285.html
Copyright © 2011-2022 走看看