code: func (mod *EmailBee) Action(action bees.Action) []bees.Placeholder {
  	outs := []bees.Placeholder{}
  
  	switch action.Name {
  	case "send":
  		var from, to, plainText, htmlText, subject string
  		action.Options.Bind("sender", &from)
  		action.Options.Bind("recipient", &to)
  		action.Options.Bind("subject", &subject)
  		action.Options.Bind("text", &plainText)
  		action.Options.Bind("html", &htmlText)
  
  		m := mail.NewMessage()
  		if len(from) > 0 {
  			m.SetHeader("From", from)
  		} else {
  			m.SetHeader("From", mod.username)
  		}
  		m.SetHeader("To", to)
  		m.SetHeader("Subject", subject)
  		if plainText != "" {
  			m.SetBody("text/plain", plainText)
  		}
  		if htmlText != "" {
  			m.SetBody("text/html", htmlText)
  		}
  
  		host, portstr, err := net.SplitHostPort(mod.server)
  		if err != nil {
  			host = mod.server
  			portstr = "587"
  		}
  		port, _ := strconv.Atoi(portstr)
  		s, _ := mail.NewDialer(host, port, mod.username, mod.password).Dial()
  
  		// Send the email.
  		if err := mail.Send(s, m); err != nil {
  			panic(err)
  		}
  
  	default:
  		panic("Unknown action triggered in " + mod.Name() + ": " + action.Name)
  	}
  
  	return outs
  }
docs: // Action triggers the action passed to it.