text.go 547 B

123456789101112131415161718192021222324252627282930
  1. package mailparse
  2. import (
  3. "errors"
  4. "fmt"
  5. "io"
  6. "os"
  7. "github.com/jhillyerd/enmime"
  8. )
  9. func getBody(envelope *enmime.Envelope) (string, error) {
  10. if envelope.Text != "" {
  11. return envelope.Text, nil
  12. }
  13. if envelope.HTML != "" {
  14. // TODO: jaytaylor.com/html2text
  15. return envelope.HTML, nil
  16. }
  17. return "", errors.New("Can't find any text part inside the email")
  18. }
  19. func GetText(r io.Reader) (string, error) {
  20. envelope, err := enmime.ReadEnvelope(r)
  21. if err != nil {
  22. fmt.Fprintln(os.Stderr, err)
  23. os.Exit(1)
  24. }
  25. return getBody(envelope)
  26. }