Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
 /// <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);
 }