/// <summary> /// Adds a PostmarkSender to be used by FluentEmail. /// </summary> /// <param name="builder">The builder for this FluentEmail service.</param> /// <param name="serverToken">The serverToken to use to authenticate at the Postmark API.</param> /// <param name="configureOptions">A method that changes the desired options of a PostmarkSenderOptions instance.</param> public static FluentEmailServicesBuilder AddPostmarkSender(this FluentEmailServicesBuilder builder, string serverToken, Action <PostmarkSenderOptions> configureOptions) { _ = builder ?? throw new ArgumentNullException(nameof(builder)); _ = configureOptions ?? throw new ArgumentNullException(nameof(configureOptions)); var opts = new PostmarkSenderOptions(serverToken); configureOptions(opts); builder.Services.TryAdd(ServiceDescriptor.Scoped <ISender>(x => new PostmarkSender(opts))); return(builder); }
public async Task SimpleMailFromCodeWithOpts() { var opts = new PostmarkSenderOptions("POSTMARK_API_TEST"); opts.TrackOpens = true; opts.TrackLinks = PostmarkDotNet.LinkTrackingOptions.HtmlAndText; opts.Tag = "unittest"; opts.Metadata = new Dictionary <string, string>() { { "key", "example" } }; Email.DefaultSender = new PostmarkSender(opts); var response = await Email .From("*****@*****.**", "Postmark Sender Support") .To("*****@*****.**") .Subject("hows it going bob") .Body("yo dawg, sup?") .SendAsync() .ConfigureAwait(false); response.Successful.Should().BeTrue(); }
/// <summary> /// Adds a PostmarkSender to be used by FluentEmail. /// </summary> /// <param name="builder">The builder for this FluentEmail service.</param> /// <param name="options">A preconfigured PostmarkSenderOptions instance.</param> public static FluentEmailServicesBuilder AddPostmarkSender(this FluentEmailServicesBuilder builder, PostmarkSenderOptions options) { _ = builder ?? throw new ArgumentNullException(nameof(builder)); _ = options ?? throw new ArgumentNullException(nameof(options)); builder.Services.TryAdd(ServiceDescriptor.Scoped <ISender>(x => new PostmarkSender(options))); return(builder); }