Error 'Detección de dependencia de componente circular Autofac'

Soy nuevo en IoC y estoy usando Autofac en mi proyecto actual.

Tengo las siguientes 2 clases:

public class UserService : IUserService
{
    private readonly IUserRepository _repo;
    private readonly IMailService _mailService;
    public UserService(IUserRepository repo, IMailService mailService)
    {
        _repo = repo;
        _mailService = mailService;
    }
}

public class MailService : IMailService
{
    private readonly IMailRepository _repo;
    private readonly IUserService _userService;
    public MailService(IMailRepository repo, IUserService userService)
    {
        _repo = repo;
        _userService = userService;
    }
}

Inicialmente, mi clase UserService no requería una instancia de la clase MailService, pero ahora sí, y desde que introduje esto en el Constructor UserService, surgió este error de dependencia circular, y como soy un novato, no estoy seguro de cómo hacerlo. Resuelve esto.

Así es como mis clases están actualmente registradas en Autofac:

var builder = new ContainerBuilder();

// controllers                      
builder.RegisterControllers(Assembly.GetAssembly(typeof(UsersController)));

// register other classes
builder.RegisterType<UserRepository>().As<IUserRepository>();
builder.RegisterType<MailRepository>().As<IMailRepository>();
builder.RegisterType<UserService>().As<IUserService>();
builder.RegisterType<MailService>().As<IMailService>();

Respuestas a la pregunta(2)

Su respuesta a la pregunta