func GetProductionMTAContainer() (mtacontainer.MTAContainer, mtacontainer.Scheduler) { var passphrase = GetPassphraseFromArgOrTerminal() var mailGunConfig = mailgunprovider.BitLabConfig(passphrase) var amazonConfig = amazonsesprovider.BitLabConfig(passphrase) var sendgridConfig = sendgridprovider.BitLabConfig(passphrase) providers := make([]mtacontainer.MTAProvider, 3) providers[0] = mailgunprovider.New(utilities.GetLogger("MailGun"), mailGunConfig, mtacontainer.NewThressHoldFailureStrategy(ERROR_THRESHOLD)) providers[1] = amazonsesprovider.New(utilities.GetLogger("amazonSES"), amazonConfig, mtacontainer.NewThressHoldFailureStrategy(ERROR_THRESHOLD)) providers[2] = sendgridprovider.New(utilities.GetLogger("SendGrid"), sendgridConfig, mtacontainer.NewThressHoldFailureStrategy(ERROR_THRESHOLD)) var scheduler mtacontainer.Scheduler = mtacontainer.NewRoundRobinScheduler(providers) return mtacontainer.New(scheduler), scheduler }
func main() { if len(os.Args) < 3 { println("manual_test <to address> <key>") return } to := os.Args[1] key := os.Args[2] mailgunMTAProvider := mailgunprovider.New(utilities.GetLogger("MailGun"), mailgunprovider.BitLabConfig(key), test.NewMockFailureStrategy()) test.ManuallyVerifyEmailSend(mailgunMTAProvider, to) }