diff --git a/go.mod b/go.mod index 209cc1215ac7ffdaaa85787564f1d42278ad02d4..f7be9e5753798a463ff2f2cb89526f2c4d86be6a 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,11 @@ require ( gorm.io/gorm v1.25.7 ) -require golang.org/x/crypto v0.20.0 // indirect +require ( + golang.org/x/crypto v0.20.0 // indirect + gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect + gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df // indirect +) require ( github.com/jackc/pgpassfile v1.0.0 // indirect diff --git a/go.sum b/go.sum index 1c8f984b7b62aae4bdb84f497e47a1645832c277..94895648ddaa77924fcb6ad9734c41b02c611dce 100644 --- a/go.sum +++ b/go.sum @@ -18,6 +18,7 @@ github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg= github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s= +github.com/labstack/echo/v4 v4.11.4/go.mod h1:noh7EvLwqDsmh/X/HWKPUl1AjzJrhyptRyEbQJfxen8= github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0= github.com/labstack/gommon v0.4.2/go.mod h1:QlUFxVM+SNXhDL/Z7YhocGIBYOiwB0mXm1+1bAPHPyU= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= @@ -47,7 +48,11 @@ golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= +gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE= +gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gorm.io/driver/postgres v1.5.6 h1:ydr9xEd5YAM0vxVDY0X139dyzNz10spDiDlC7+ibLeU= diff --git a/src/module/jadwal_seminar/transport/admin_handler.go b/src/module/jadwal_seminar/transport/admin_handler.go index 05044b1ef311ad5938fd4a82e4e00c28bee979b5..34bab2cec056a7cb7163d27831febc18ab58e0f5 100644 --- a/src/module/jadwal_seminar/transport/admin_handler.go +++ b/src/module/jadwal_seminar/transport/admin_handler.go @@ -10,6 +10,7 @@ import ( "gitlab.informatika.org/k-01-11/graduit-be/src/module/jadwal_seminar/internal/repository" "gitlab.informatika.org/k-01-11/graduit-be/src/module/jadwal_seminar/internal/usecase" "gitlab.informatika.org/k-01-11/graduit-be/src/utils" + "gopkg.in/gomail.v2" ) type AdminJadwalSeminarHandler struct { @@ -60,6 +61,26 @@ func (t *AdminJadwalSeminarHandler) AddJadwalSeminar(c echo.Context) error { return c.JSON(http.StatusInternalServerError, utils.ResponseDetailOutput(false, http.StatusBadRequest, err.Error(), nil)) } + subject := "Penambahan Jadwal Seminar pada GraduIT" + // headers := "MIME-version: 1.0;\nContent-Type: text; charset=\"UTF-8\";" + bodyText := "Dengan surel ini, diberitahukan bahwa telah dilakukan penambahan jadwal seminar pada aplikasi GraduIT dengan informasi:\nNama:" + request.Name + "\nNIM: " + request.Nim + "\nNama Dosbing:" + request.NamaDosbing + smtpHost := "smtp.gmail.com" + smtpUsername := "graduititb@gmail.com" + smtpPassword := "noim hyum imnm rgxw" + + m := gomail.NewMessage() + m.SetHeader("From", "graduititb@gmail.com") + m.SetHeader("To", "maximun154@gmail.com") + m.SetHeader("Subject", subject) + m.SetBody("text", bodyText) + + d := gomail.NewDialer(smtpHost, 587, smtpUsername, smtpPassword) + + err2 := d.DialAndSend(m) + if err2 != nil { + fmt.Println(err2) + } + return c.JSON(http.StatusOK, utils.ResponseDetailOutput(true, http.StatusCreated, "Jadwal added successfully", newJadwalSeminar)) }