eml

package module
v0.0.0-...-451f154 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2015 License: MIT Imports: 14 Imported by: 2

README

#EML(RFC5322) PARSER

This aims to be a more complete implementation of go's net/mail package.

This is parser of message in rfc5322(.eml)

Split message on all headers(subject,from,to,cc,date,et.c.), body text, body html, and attachments(decodes it)

add decoder for subject and attachments file name

Documentation

Overview

Package mail implements a parser for electronic mail messages as specified in RFC5322.

We allow both CRLF and LF to be used in the input, possibly mixed.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseDate

func ParseDate(s string) time.Time

Types

type Address

type Address interface {
	String() string
	Name() string
	Email() string
}

func ParseAddress

func ParseAddress(bs []byte) (Address, error)

type Attachment

type Attachment struct {
	Filename string
	Data     []byte
}

type GroupAddr

type GroupAddr struct {
	// contains filtered or unexported fields
}

func (GroupAddr) Email

func (ga GroupAddr) Email() string

func (GroupAddr) Name

func (ga GroupAddr) Name() string

func (GroupAddr) String

func (ga GroupAddr) String() string
type Header struct {
	Key, Value string
}

type HeaderInfo

type HeaderInfo struct {
	FullHeaders []Header // all headers
	OptHeaders  []Header // unprocessed headers

	MessageId   string
	Id          string
	Date        time.Time
	From        []Address
	Sender      Address
	ReplyTo     []Address
	To          []Address
	Cc          []Address
	Bcc         []Address
	Subject     string
	Comments    []string
	Keywords    []string
	ContentType string

	InReply    []string
	References []string
}

type MailboxAddr

type MailboxAddr struct {
	// contains filtered or unexported fields
}

func (MailboxAddr) Email

func (ma MailboxAddr) Email() string

func (MailboxAddr) Name

func (ma MailboxAddr) Name() string

func (MailboxAddr) String

func (ma MailboxAddr) String() string

type Message

type Message struct {
	HeaderInfo
	Body        []byte
	Text        string
	Html        string
	Attachments []Attachment
	Parts       []Part
}

func Parse

func Parse(s []byte) (m Message, e error)

func Process

func Process(r RawMessage) (m Message, e error)

type Part

type Part struct {
	Type    string
	Charset string
	Data    []byte
	Headers map[string][]string
}

type RawHeader

type RawHeader struct {
	Key, Value []byte
}

type RawMessage

type RawMessage struct {
	RawHeaders []RawHeader
	Body       []byte
}

func ParseRaw

func ParseRaw(s []byte) (m RawMessage, e error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL