Skip to content

Latest commit

 

History

History
 
 

inbound

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

This helper is a stand-alone module to help get you started consuming and processing Inbound Parse data.

Table of Contents

Example Usage

package main

import (
	"fmt"
	"log"
	"net/http"

	"github.com/sendgrid/sendgrid-go/helpers/inbound"
)

func inboundHandler(response http.ResponseWriter, request *http.Request) {
	parsedEmail, err := Parse(request)
	if err != nil {
		log.Fatal(err)
	}
    
	fmt.Print(parsedEmail.Headers["From"])
	
	for filename, contents := range parsedEmail.Attachments {
		// Do something with an attachment
		handleAttachment(filename, contents)
	}
    
	for section, body := range parsedEmail.Body {
		// Do something with the email body
		handleEmail(body)
	}
    
	// Twilio SendGrid needs a 200 OK response to stop POSTing
	response.WriteHeader(http.StatusOK)
}

func main() {
	http.HandleFunc("/inbound", inboundHandler)
	if err := http.ListenAndServe(":8000", nil); err != nil {
		log.Fatalln("Error")
	}
}

Testing the Source Code

Tests are located in the helpers/inbound folder:

Learn about testing this code here.

Contributing

If you would like to contribute to this project, please see our contributing guide. Thanks!