def METHOD_NAME(self, user):
    """
    Check whether mail can be relayed to a user.
    @type user: L{User}
    @param user: A user.
    @rtype: no-argument callable which returns L{IMessage <smtp.IMessage>}
        provider
    @return: A function which takes no arguments and returns a message
        receiver for the user.
    @raise SMTPBadRcpt: When mail cannot be relayed to the user.
    """
    if self.willRelay(user.dest, user.protocol):
        # The most cursor form of verification of the addresses
        orig = filter(None, str(user.orig).split("@", 1))
        dest = filter(None, str(user.dest).split("@", 1))
        if len(orig) == 2 and len(dest) == 2:
            return lambda: self.startMessage(user)
    raise smtp.SMTPBadRcpt(user)