This code sends email. It has no tests, yet you need to change it. The design makes it difficult to test without setting up your own email server. You would like to write unit tests for it, without doing that. Some refactoring might make it testable, but then how would you know if you broke it?
This code will let you practice doing safe refactorings that are possible to do without any test cover, in order to extract pieces that you can test.
Thankyou to Michael Feathers for giving permission to use his code.