|  | 
 
 发表于 2017-6-16 10:27:13
|
显示全部楼层 
| 
 没事再撸一个性能版本给你
 golang
 
 
 
 复制代码
package main
import (
        "fmt"
        "log"
        "net/http"
        "os"
        "gopkg.in/gomail.v1"
        "strconv"
        "io/ioutil"
        "strings"
        "time"
)
var url = "网址"
var file ="path.txt"
//邮件内容修改sendmail函数
func main() {
        for   {
                resp, err := http.Get(url)
                if err != nil {
                        fmt.Println(err)
                        log.Fatal(err)
                }
                if resp.StatusCode == http.StatusOK {
                        fmt.Println(resp.StatusCode)
                }
                defer resp.Body.Close()
                len:=resp.ContentLength
                lenstr:=strconv.FormatInt(len,10)
                if IsFile(file) == false {
                        FilePutContent(file,lenstr)
                        println("找不到"+file+"文件,开始初始化!如多次都是如此,检查目录有没写权限")
                }else{
                        c,_ := FileGetContent(file)
                        if !strings.EqualFold(c,lenstr){
                                sendmail()
                                FilePutContent(file,lenstr)
                        }
                }
                time.Sleep(time.Minute*15)
        }
}
func IsFile(file string) bool {
        f, e := os.Stat(file)
        if e != nil {
                return false
        }
        return !f.IsDir()
}
func FilePutContent(file string, content string) (int, error) {
        fs, e := os.Create(file)
        if e != nil {
                return 0, e
        }
        defer fs.Close()
        return fs.WriteString(content)
}
func FileGetContent(file string) (string, error) {
        if !IsFile(file) {
                return "", os.ErrNotExist
        }
        b, e := ioutil.ReadFile(file)
        if e != nil {
                return "", e
        }
        return string(b), nil
}
func  sendmail()  {
        msg := gomail.NewMessage()
        msg.SetHeader("From", "发件人地址[email protected]")
        msg.SetHeader("To", "收件人地址[email protected]")
        msg.SetHeader("Subject", "邮件标题")
        msg.SetBody("text/html", "邮件内容,支持HTML!")
        // NewMailer参数:smtp地址,用户名,密码,端口
        mailer := gomail.NewMailer("发件人的smtp地址:smtp.example.com", "用户名user", "密码123456", 25)
        if err := mailer.Send(msg); err != nil {
                panic(err)
        }
}
 | 
 |