Skip to content

Instantly share code, notes, and snippets.



Last active Jul 3, 2018
What would you like to do?
func RegisterRecovery() gin.HandlerFunc {
return func(c *gin.Context) {
defer func() {
if err := recover(); err != nil {
httprequest, _ := httputil.DumpRequest(c.Request, false)
m := gomail.NewMessage()
m.SetHeader("From", "")
m.SetHeader("To", "")
m.SetHeader("Subject", "GoBlog Error")
m.SetBody("text/plain", fmt.Sprintf(`Hi admin,\n unexpected error has happend en GoBlog.
Following there is the user request:\n%s
Following there is the panic error:\n\n%s`, string(httprequest), err))
d := gomail.Dialer{Host: "localhost", Port: 25}
if err := d.DialAndSend(m); err != nil {
c.HTML(http.StatusOK, "index", gin.H{
"title": "Hi! GoBlog.",
"error": "You found an error. The administrator has been notified.",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.