ses

package module
v0.0.0-...-7f76813 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2023 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Overview

Package ses is a delivery service for the carrier email message package.

Example
package main

import (
	"log"
	"os"

	"petersanchez.com/carrier"
	"petersanchez.com/carrier/ses"
)

func main() {
	// import (
	//     "petersanchez.com/carrier"
	//     "petersanchez.com/carrier/ses"
	// )
	conf := &ses.MailConfig{
		AccessID:  "<YOUR ACCESS KEY>",
		SecretKey: "<YOUR SECRET KEY>",
	}

	// You should handle errors properly in all instances below
	svc, err := ses.NewSESService(conf)
	if err != nil {
		// handle errors (here and below)
		log.Fatal(err)
	}

	msg := carrier.NewMessage()
	msg.SetFrom("me@mydomain.com").
		SetTo("recipient@theirdomain.com").
		SetCc("copy@somedomain.com")
	msg.SetSubject("Sending email from Go!")

	file, err := os.Open("funny.jpg")
	msg.AddAttachment("funny.jpg", file, "")
	file.Close()

	err = msg.SetBody("This is the text email body.")
	err = msg.SetBodyHTML("This is the HTML email body.")

	// Send email
	err = svc.Send(msg)
	log.Println("Successfully sent email via AWS SES.")
}
Output:

Index

Examples

Constants

This section is empty.

Variables

View Source
var DefaultMailConfig = MailConfig{
	Region: "us-east-1",
}

DefaultMailConfig The default config values to use.

Functions

This section is empty.

Types

type MailConfig

type MailConfig struct {
	// AWS Region to use
	// Defaults to us-east-1
	Region string

	// Set Credentials to use a different way to load AWS creds.
	// For example, env vars or ~/.aws/credentials file
	// See https://docs.aws.amazon.com/sdk-for-go/api/ for more info
	Credentials *credentials.Credentials

	// AWS Access Key
	// Required if no Credentials are set
	AccessID string
	// AWS Secret Key
	// Required if no Credentials are set
	SecretKey string
}

MailConfig is the configuration for SMTP connection and sending

type Service

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

Service Direct delivery via AWS SES connection

func NewSESService

func NewSESService(mc *MailConfig) (*Service, error)

NewSESService Returns an SES service instance

func (*Service) Send

func (s *Service) Send(msg *carrier.Message) error

Send Sends an email from the given *carrier.Message object

Jump to

Keyboard shortcuts

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