mv /cmd to /cmd/*
This commit is contained in:
18
cmd/recv/go.mod
Normal file
18
cmd/recv/go.mod
Normal file
@@ -0,0 +1,18 @@
|
||||
module gogs.inhome.blapointe.com/contact/cmd/recv
|
||||
|
||||
go 1.21.0
|
||||
|
||||
replace gogs.inhome.blapointe.com/local-sandbox/contact => ../../
|
||||
|
||||
require (
|
||||
gogs.inhome.blapointe.com/local-sandbox/contact v0.0.0-00010101000000-000000000000
|
||||
gogs.inhome.blapointe.com/local/args v0.0.0-20230410154220-44370f257b34
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/bytbox/go-pop3 v0.0.0-20120201222208-3046caf0763e // indirect
|
||||
github.com/emersion/go-imap v1.2.0 // indirect
|
||||
github.com/emersion/go-sasl v0.0.0-20200509203442-7bfe0ed36a21 // indirect
|
||||
golang.org/x/text v0.3.7 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
)
|
||||
3
cmd/recv/go.sh
Executable file
3
cmd/recv/go.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#! /bin/sh
|
||||
|
||||
GOPRIVATE= GONOSUMDB=\* GONOPROXY=\* GOPROXY= go "$@"
|
||||
18
cmd/recv/go.sum
Normal file
18
cmd/recv/go.sum
Normal file
@@ -0,0 +1,18 @@
|
||||
github.com/bytbox/go-pop3 v0.0.0-20120201222208-3046caf0763e h1:mQTN05gz0rDZSABqKMzAPMb5ATWcvvdMljRzEh0LjBo=
|
||||
github.com/bytbox/go-pop3 v0.0.0-20120201222208-3046caf0763e/go.mod h1:alXX+s7a4cKaIprgjeEboqi4Tm7XR/HXEwUTxUV/ywU=
|
||||
github.com/emersion/go-imap v1.2.0 h1:lyUQ3+EVM21/qbWE/4Ya5UG9r5+usDxlg4yfp3TgHFA=
|
||||
github.com/emersion/go-imap v1.2.0/go.mod h1:Qlx1FSx2FTxjnjWpIlVNEuX+ylerZQNFE5NsmKFSejY=
|
||||
github.com/emersion/go-message v0.15.0/go.mod h1:wQUEfE+38+7EW8p8aZ96ptg6bAb1iwdgej19uXASlE4=
|
||||
github.com/emersion/go-sasl v0.0.0-20200509203442-7bfe0ed36a21 h1:OJyUGMJTzHTd1XQp98QTaHernxMYzRaOasRir9hUlFQ=
|
||||
github.com/emersion/go-sasl v0.0.0-20200509203442-7bfe0ed36a21/go.mod h1:iL2twTeMvZnrg54ZoPDNfJaJaqy0xIQFuBdrLsmspwQ=
|
||||
github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594/go.mod h1:aqO8z8wPrjkscevZJFVE1wXJrLpC5LtJG7fqLOsPb2U=
|
||||
gogs.inhome.blapointe.com/local/args v0.0.0-20230410154220-44370f257b34 h1:0tuX5dfOksiOQD1vbJjVNVTVxTTIng7UrUdSLF5T+Ao=
|
||||
gogs.inhome.blapointe.com/local/args v0.0.0-20230410154220-44370f257b34/go.mod h1:YG9n3Clg7683ohkVnJK2hdX8bBS9EojIsd1qPZumX0Y=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
48
cmd/recv/main.go
Executable file
48
cmd/recv/main.go
Executable file
@@ -0,0 +1,48 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"gogs.inhome.blapointe.com/local-sandbox/contact"
|
||||
"gogs.inhome.blapointe.com/local/args"
|
||||
)
|
||||
|
||||
func main() {
|
||||
emailer := contact.NewEmailer()
|
||||
as := args.NewArgSet()
|
||||
as.Append(args.STRING, "imap", "imap server:port", "imap.gmail.com:993")
|
||||
as.Append(args.INT, "n", "limit (<1 for inf)", 10)
|
||||
if err := as.Parse(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
emailer.IMAP = as.Get("imap").GetString()
|
||||
emailer.Limit = as.Get("n").GetInt()
|
||||
|
||||
msgs, err := emailer.Read()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for msg := range msgs {
|
||||
b, _ := ioutil.ReadAll(io.LimitReader(msg.Body, 1024))
|
||||
s := strings.ReplaceAll(string(b), "\r\n", " ")
|
||||
s = strings.ReplaceAll(string(s), "\n", " ")
|
||||
s = strings.ReplaceAll(string(s), "\r", " ")
|
||||
if !strings.Contains(s, " ") {
|
||||
s = "..."
|
||||
}
|
||||
d, _ := msg.Header.Date()
|
||||
d = d.In(time.Local)
|
||||
fmt.Printf(
|
||||
"@%+v @%+v: %+v: %s\n",
|
||||
d.Format("06-01-02T15:04Z07"),
|
||||
msg.Header.Get("From"),
|
||||
msg.Header.Get("Subject"),
|
||||
s,
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user