README
¶
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 := Parse(request)
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!
Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ParsedEmail ¶
type ParsedEmail struct { Headers map[string]string Body map[string]string Attachments map[string][]byte // contains filtered or unexported fields }
Example (ParseHeaders) ¶
Output: foo baz
Example (ParseRawEmail) ¶
Output: To test@example.com From example@example.com Subject Test Email Content-Type multipart/mixed; boundary=TwiLIo Hello Twilio SendGrid!
func Parse ¶
func Parse(request *http.Request) *ParsedEmail
Click to show internal directories.
Click to hide internal directories.