Skip to content
Snippets Groups Projects
Select Git revision
  • 12c7fb3eded4b6104bb40f3b140dd0eda4385015
  • master default protected
  • 0.5.9
  • 0.5.8
  • 0.5.7
  • 0.5.6
  • 0.5.5
  • 0.5.4
  • 0.5.3
  • 0.5.2
  • 0.5.1
  • 0.5.0
  • 0.4.17
  • 0.4.16
  • 0.4.15
  • 0.4.14
  • 0.4.13
  • 0.4.12
  • 0.4.11
  • 0.4.10
  • 0.4.9
  • 0.4.8
22 results

go.sum

Blame
  • This project manages its dependencies using Go Modules. Learn more
    runnable-mail.go 3.71 KiB
    package jobqueue
    
    import (
    	"context"
    	"fmt"
    	"net/smtp"
    )
    
    func NewMailRunnableFromMap(data map[string]interface{}) (*MailRunnable, error) {
    	to, ok := data["to"].(string)
    	if !ok {
    		return nil, fmt.Errorf("%w: Invalid To: %v", ErrInvalidData, data["to"])
    	}
    
    	from, ok := data["from"].(string)
    	if !ok {
    		return nil, fmt.Errorf("%w: Invalid From: %v", ErrInvalidData, data["from"])
    	}
    
    	subject, ok := data["subject"].(string)
    	if !ok {
    		return nil, fmt.Errorf("%w: Invalid Subject: %v", ErrInvalidData, data["subject"])
    	}
    
    	body, ok := data["l"].(string)
    	if !ok {
    		return nil, fmt.Errorf("%w: Invalid Body: %v", ErrInvalidData, data["body"])
    	}
    
    	server, ok := data["server"].(string)
    	if !ok {
    		return nil, fmt.Errorf("%w: Invalid Server: %v", ErrInvalidData, data["server"])
    	}
    
    	port, ok := data["port"].(string)
    	if !ok {
    		return nil, fmt.Errorf("%w: Invalid Port: %v", ErrInvalidData, data["port"])
    	}
    
    	username, ok := data["username"].(string)
    	if !ok {
    		return nil, fmt.Errorf("%w: Invalid Username: %v", ErrInvalidData, data["username"])
    	}
    
    	password, ok := data["password"].(string)
    	if !ok {
    		return nil, fmt.Errorf("%w: Invalid Password: %v", ErrInvalidData, data["password"])
    	}
    
    	headers, ok := data["headers"].(map[string]string)
    	if !ok {
    		return nil, fmt.Errorf("%w: Invalid Headers: %v", ErrInvalidData, data["headers"])
    	}
    
    	return &MailRunnable{
    		To:       to,
    		From:     from,
    		Subject:  subject,
    		Body:     body,
    		Server:   server,
    		Port:     port,
    		Username: username,
    		Password: password,
    		Headers:  headers,
    	}, nil
    }
    
    // MailResult is a result of a email
    type MailResult struct {
    	Sent           bool