Advertisement
Guest User

trying to send mail with golang

a guest
Jun 1st, 2017
550
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 5.13 KB | None | 0 0
  1. here's my code:
  2. package main
  3.  
  4. import (
  5.     "fmt"
  6.     "log"
  7.     "net/http"
  8.     "text/template"
  9.     "github.com/gopkg.in/gomail.v2"
  10. )
  11.  
  12. var tpl *template.Template
  13.  
  14. type pageData struct {
  15.     Title    string
  16.     subject string
  17.     email    string
  18.     msg      string
  19. }
  20.  
  21. func init() {
  22.     tpl = template.Must(template.ParseGlob("templates/*.gohtml"))
  23. }
  24.  
  25. func main() {
  26.     fmt.Println("server running")
  27.     http.HandleFunc("/", index)
  28.     http.HandleFunc("/about", about)
  29.     http.HandleFunc("/contact", contact)
  30.     http.HandleFunc("/apply", apply)
  31.     http.Handle("/favicon.ico", http.NotFoundHandler())
  32.     http.ListenAndServe(":8080", nil)
  33. }
  34.  
  35. func index(w http.ResponseWriter, req *http.Request) {
  36.  
  37.     pd := pageData{
  38.         Title: "Welcome || CACCYE",
  39.     }
  40.     err := tpl.ExecuteTemplate(w, "index.gohtml", pd)
  41.     if err != nil {
  42.         log.Println("LOGGED", err)
  43.         http.Error(w, "internal server error", http.StatusInternalServerError)
  44.         return //if you return a function you're done with that function. execution never reaches the next line.
  45.     }
  46.     //fmt.Println(req.URL.Path)
  47.     //fmt.Println("We got here")
  48. }
  49.  
  50. func about(w http.ResponseWriter, req *http.Request) {
  51.  
  52.     pd := pageData{
  53.         Title: "about || CACCYE",
  54.     }
  55.     err := tpl.ExecuteTemplate(w, "index.gohtml", pd)
  56.     if err != nil {
  57.         log.Println(err)
  58.     }
  59. }
  60.  
  61. func contact(w http.ResponseWriter, req *http.Request) {
  62.     var s string
  63.     var e string
  64.     var m string
  65.     pd := pageData{
  66.         Title: "contact || CACCYE",
  67.     }
  68.     if req.Method == http.MethodPost {
  69.         s = req.FormValue("subject")
  70.         e = req.FormValue("mail")
  71.         m = req.FormValue("message")
  72.  
  73.         pd.subject = s
  74.         pd.email = e
  75.         pd.msg = m
  76.  
  77.         cb := gomail.NewMessage()
  78.         cb.SetHeader("From", e)
  79.         cb.SetHeader("To", "person1.mail@gmail.com", "person2.mail@gmail.com")
  80.         cb.SetHeader("Subject", s)
  81.         cb.SetBody("text/plain", m)
  82.  
  83.         d := gomail.NewDialer("smtp.gmail.com", 465, "my_mail@gmail.com", "my_password")
  84.  
  85.         // Send the email to Bob, Cora and Dan.
  86.         if err := d.DialAndSend(cb); err != nil {
  87.             panic(err)
  88.         }
  89.     }
  90.  
  91.     err := tpl.ExecuteTemplate(w, "contact.gohtml", pd)
  92.     if err != nil {
  93.         log.Println(err)
  94.     }
  95. }
  96.  
  97. and here's what my terminal outputs after clicking submit:
  98.  
  99. 2017/06/01 19:57:55 http: panic serving [::1]:51538: 534 5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbvq
  100. 5.7.14 fwf1FzvpYX6fjLJA3C7wfQxFi7Tn5hY4Kfw3-jfTn-W0UQoeh4u-zUkuWCzmCxuEa9KBu2
  101. 5.7.14 r1BPMJdj0VIHxr3Pjw1pBLAWlTfDuy5g7OH0W2CwVIxrW2LcHs2U0-whzjOMkNiRhyPETy
  102. 5.7.14 lztVmXqiS3mGZXhTGKg5t8JJN_rL3niVt3wardvEgEQkKhOiOGtGLATNwf2yTRVrjs1iw1
  103. 5.7.14 z-yuIhLO4tX7K8y360uELPeFvzXwo> Please log in via your web browser and
  104. 5.7.14 then try again.
  105. 5.7.14  Learn more at
  106. 5.7.14  https://support.google.com/mail/answer/78754 d2sm11201710ede.31 - gsmtp
  107. goroutine 6 [running]:
  108. net/http.(*conn).serve.func1(0xc42008c6e0)
  109.     /usr/local/go/src/net/http/server.go:1721 +0xd0
  110. panic(0x6fb7a0, 0xc420436680)
  111.     /usr/local/go/src/runtime/panic.go:489 +0x2cf
  112. main.contact(0x8b6740, 0xc4201382a0, 0xc420100900)
  113.     /home/connelblaze/go/src/github.com/connelevalsam/GoWebDev/001/src/sendmail/src/main/main.go:86 +0x5d3
  114. net/http.HandlerFunc.ServeHTTP(0x769658, 0x8b6740, 0xc4201382a0, 0xc420100900)
  115.     /usr/local/go/src/net/http/server.go:1942 +0x44
  116. net/http.(*ServeMux).ServeHTTP(0x8e38e0, 0x8b6740, 0xc4201382a0, 0xc420100900)
  117.     /usr/local/go/src/net/http/server.go:2238 +0x130
  118. net/http.serverHandler.ServeHTTP(0xc42011e0b0, 0x8b6740, 0xc4201382a0, 0xc420100900)
  119.     /usr/local/go/src/net/http/server.go:2568 +0x92
  120. net/http.(*conn).serve(0xc42008c6e0, 0x8b6d40, 0xc420018680)
  121.     /usr/local/go/src/net/http/server.go:1825 +0x612
  122. created by net/http.(*Server).Serve
  123.     /usr/local/go/src/net/http/server.go:2668 +0x2ce
  124. 2017/06/01 19:57:58 http: panic serving [::1]:51554: 534 5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbvd
  125. 5.7.14 kK4tr3ffn3kjLRKeeP-wAkXO93J6KwJVC0KLX7_AJo0P1ewxeRL4pT7x9fsztrCIoqEv_l
  126. 5.7.14 L6qWkwT1cswhb3yWNeFQyoWTb2NTwhlL-6dJ6guZhdUuTrg4e554IQqm0wHSuIeqcbtx2b
  127. 5.7.14 g9mnmRTsOhM_4EoiCfxH1fSEuYHTqP7hvk50vgWGBTtdsn-4OxSUUS2NFCbWuAA0ZKWjLl
  128. 5.7.14 odn5w9XGMsCw4722cZ3ClFqXtYGmg> Please log in via your web browser and
  129. 5.7.14 then try again.
  130. 5.7.14  Learn more at
  131. 5.7.14  https://support.google.com/mail/answer/78754 r18sm9842448edd.23 - gsmtp
  132. goroutine 25 [running]:
  133. net/http.(*conn).serve.func1(0xc4201aa000)
  134.     /usr/local/go/src/net/http/server.go:1721 +0xd0
  135. panic(0x6fb7a0, 0xc420163a60)
  136.     /usr/local/go/src/runtime/panic.go:489 +0x2cf
  137. main.contact(0x8b6740, 0xc420138540, 0xc420101400)
  138.     /home/connelblaze/go/src/github.com/connelevalsam/GoWebDev/001/src/sendmail/src/main/main.go:86 +0x5d3
  139. net/http.HandlerFunc.ServeHTTP(0x769658, 0x8b6740, 0xc420138540, 0xc420101400)
  140.     /usr/local/go/src/net/http/server.go:1942 +0x44
  141. net/http.(*ServeMux).ServeHTTP(0x8e38e0, 0x8b6740, 0xc420138540, 0xc420101400)
  142.     /usr/local/go/src/net/http/server.go:2238 +0x130
  143. net/http.serverHandler.ServeHTTP(0xc42011e0b0, 0x8b6740, 0xc420138540, 0xc420101400)
  144.     /usr/local/go/src/net/http/server.go:2568 +0x92
  145. net/http.(*conn).serve(0xc4201aa000, 0x8b6d40, 0xc42040d580)
  146.     /usr/local/go/src/net/http/server.go:1825 +0x612
  147. created by net/http.(*Server).Serve
  148.     /usr/local/go/src/net/http/server.go:2668 +0x2ce
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement