Documentation
¶
Index ¶
- Constants
- Variables
- func HandleWebhook(res http.ResponseWriter, req *http.Request)
- func SendTemplatedEmail(ctx context.Context, templateID string, options ...EmailOption) error
- type Attachment
- type Config
- type EmailOption
- type EmailRecieved
- type ReceivedEmail
- func (e *ReceivedEmail) ExtractAttachments(ctx context.Context) ([]*resend.Attachment, error)
- func (e *ReceivedEmail) Forward(ctx context.Context, to ...string) error
- func (e *ReceivedEmail) GetBody() string
- func (e *ReceivedEmail) GetFrom() *mail.Address
- func (e *ReceivedEmail) GetID() string
- func (e *ReceivedEmail) GetSubject() string
- func (e *ReceivedEmail) Timestamp() time.Time
- func (e *ReceivedEmail) Valid() error
- type WebhookEmailReceieved
Constants ¶
const ( // ConfigEnvPrefix is the prefix applied to environment variables for configuring Resend. ConfigEnvPrefix = config.ConfigEnvPrefix + "RESEND_" )
Variables ¶
var ErrInvalidEmail = errors.New("email is invalid")
Functions ¶
func HandleWebhook ¶
func HandleWebhook(res http.ResponseWriter, req *http.Request)
HandleWebhook will handle incoming webhook requests from Resend.
func SendTemplatedEmail ¶ added in v0.47.0
func SendTemplatedEmail(ctx context.Context, templateID string, options ...EmailOption) error
SendTemplatedEmail sends the template with the given id to the given address, with any additional template options applied.
Types ¶
type Attachment ¶ added in v0.25.0
type Config ¶
type Config struct {
WebHookSecret string `koanf:"webhooksecret" validate:"required"`
APIKey string `koanf:"apikey" validate:"required"`
CatchAllEmail string `koanf:"catchallemail" validate:"required,email"`
AdminEmail string `koanf:"adminemail" validate:"required,email"`
}
Config structure.
type EmailOption ¶ added in v0.61.0
type EmailOption func(*email)
EmailOption is a functional option to apply to an email.
func Bcc ¶ added in v0.61.0
func Bcc(bcc ...string) EmailOption
Bcc option sets the bcc address of an email.
func Cc ¶ added in v0.61.0
func Cc(cc ...string) EmailOption
Cc option sets the cc address of an email.
func To ¶ added in v0.61.0
func To(to ...string) EmailOption
To option sets the to address of an email.
func WithTag ¶ added in v0.61.0
func WithTag(key string, value string) EmailOption
WithTag option applies the given tag to the email.
func WithTemplateVariable ¶ added in v0.48.0
func WithTemplateVariable(key string, value any) EmailOption
WithTemplateVariable option assigns a value to the given template variable in the email template.
type EmailRecieved ¶ added in v0.25.0
type EmailRecieved struct {
EmailId string `json:"email_id,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
From string `json:"from,omitempty"`
To []string `json:"to,omitempty"`
Bcc []string `json:"bcc,omitempty"`
Cc []string `json:"cc,omitempty"`
MessageId string `json:"message_id,omitempty"`
Subject string `json:"subject,omitempty"`
Attachments []Attachment `json:"attachments,omitempty"`
}
type ReceivedEmail ¶ added in v0.25.0
type ReceivedEmail struct {
*resend.ReceivedEmail
}
func (*ReceivedEmail) ExtractAttachments ¶ added in v0.61.0
func (e *ReceivedEmail) ExtractAttachments(ctx context.Context) ([]*resend.Attachment, error)
ExtractAttachments will extract and return the attachments on the email, if any.
func (*ReceivedEmail) Forward ¶ added in v0.61.0
func (e *ReceivedEmail) Forward(ctx context.Context, to ...string) error
Forward will forward the recieved email to the given addresses.
func (*ReceivedEmail) GetBody ¶ added in v0.25.0
func (e *ReceivedEmail) GetBody() string
func (*ReceivedEmail) GetFrom ¶ added in v0.25.0
func (e *ReceivedEmail) GetFrom() *mail.Address
func (*ReceivedEmail) GetID ¶ added in v0.25.0
func (e *ReceivedEmail) GetID() string
func (*ReceivedEmail) GetSubject ¶ added in v0.25.0
func (e *ReceivedEmail) GetSubject() string
func (*ReceivedEmail) Timestamp ¶ added in v0.25.0
func (e *ReceivedEmail) Timestamp() time.Time
func (*ReceivedEmail) Valid ¶ added in v0.25.0
func (e *ReceivedEmail) Valid() error
Valid returns a non-nil error when the ReceivedEmail contains invalid fields.
type WebhookEmailReceieved ¶ added in v0.25.0
type WebhookEmailReceieved struct {
Type string `json:"type,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
Data EmailRecieved `json:"data,omitempty"`
}