Мое текущее понимание таково, что Email::Processor.process! вызывает Email::Receiver.new с аргументом mail=nil, что приводит к выбросу исключения Email::Receiver.EmptyEmailError, в результате чего @receiver остаётся неопределённым.
Далее блок rescue ожидает инициализированный @receiver.
Разве Email::Processor.initialize не должен выбрасывать ошибку при вызове с mail==nil?