예제 #1
0
    public async Task SendEmail_BccAdded()
    {
        Fixture.SmtpServer !.ClearReceivedEmail();

        var model = new RenderTestEmailViewModel {
            SomeField = "Some field."
        };

        await SendAsync(new SendEmail.Command("*****@*****.**", "The Recipient", "*****@*****.**", new CultureInfo("de-AT"), null, model));

        Fixture.SmtpServer.ReceivedEmailCount.Should().Be(1);
        var email = Fixture.SmtpServer.ReceivedEmail.Single();

        email.ToAddresses
        .Should().HaveCount(2)
        .And.Contain(a => a.Address == "*****@*****.**")
        .And.Contain(a => a.Address == "*****@*****.**");

        email.FromAddress.Address.Should().Be("*****@*****.**");
        email.Headers.AllKeys.Should().Contain("Subject");
        email.Headers["Subject"].Should().Be("The subject");

        email.MessageParts.Should().HaveCount(1);
        email.MessageParts[0].BodyData.Should().Be(
            "<html><head><title>Render Test</title></head>" + Environment.NewLine
            + "<body style=\"color: red\"><p>Some field.</p>" + Environment.NewLine
            + "</body></html>");
    }
예제 #2
0
    public async Task SendEmail_InvalidEmailAddress_ThrowsException()
    {
        Fixture.SmtpServer !.ClearReceivedEmail();

        var model = new RenderTestEmailViewModel {
            SomeField = "Some field."
        };

        Func <Task> act = async() => await SendAsync(new SendEmail.Command("*****@*****.**", "The Recipient", "invalidEmailAddress", new CultureInfo("de-AT"), null, model));

        await act.Should().ThrowAsync <Exception>();
    }