|
发表于 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", "发件人地址alex@example.com")
- msg.SetHeader("To", "收件人地址bob@example.com")
- 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)
- }
- }
复制代码 |
|