smtp

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: 4 Imported by: 0

Documentation

Overview

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

Example
package main

import (
	"log"
	"os"

	"petersanchez.com/carrier"
	"petersanchez.com/carrier/smtp"
)

func main() {
	// import (
	//     "petersanchez.com/carrier"
	//     "petersanchez.com/carrier/smtp"
	// )
	conf := &smtp.MailConfig{
		SMTPPort:    587,
		SMTPHost:    "smtp.yourdomain.com",
		SMTPEncType: "starttls",
		SMTPAuth:    "plain",
		SMTPUser:    "user@yourdomain.com",
		SMTPPass:    "supersecurepassword",
	}

	// You should handle errors properly in all instances below
	svc, err := smtp.NewSMTPService(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 SMTP.")
}
Output:

Index

Examples

Constants

This section is empty.

Variables

View Source
var DefaultMailConfig = MailConfig{
	SMTPPort:    25,
	SMTPHost:    "localhost",
	SMTPEncType: "insecure",
	SMTPAuth:    "none",
}

DefaultMailConfig is the default config to use.

Functions

This section is empty.

Types

type MailConfig

type MailConfig struct {
	// SMTP Port
	SMTPPort int
	// SMTP Hostname
	SMTPHost string
	// SMTP Connection encryption type
	// Valid options are: insecure, starttls, tls
	// Defaults to insecure
	SMTPEncType string
	// SMTP Auth type
	// Valid options are: none, plain
	// Defaults to none
	SMTPAuth string
	// SMTP User account
	// Required if SMTPAuth is plain
	SMTPUser string
	// SMTP Password
	// Required if SMTPAuth is plain
	SMTPPass string
}

MailConfig Configuration for SMTP connection and sending

type Service

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

Service Direct delivery via SMTP connection

func NewSMTPService

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

NewSMTPService Returns an smtp 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