Even in an email list, moderation isn't limited to setting the entire email list to require approval before messages are posted. You can create rules which reflect the culture you'd like to see, and call attention to ways that the community differs from that culture. You can point out when a particular post doesn't fit with that culture -- publicly or privately, whichever you think will do the most good. You can point out when a particular post exemplifies something great about the culture. You can point out particular rules that everyone needs to keep abiding by, without calling out a specific post. If a specific person, or a specific handful of people, have trouble with the rules, you could put them in particular on moderated posting for some time. If someone keeps breaking the rules, that person is a good candidate for being removed entirely. There are limits to what the rest of the community and the moderators should have to deal with, even though your project may choose to keep that as a last resort.
Sometimes the problem can be solved by redirection. If the main email list is getting cluttered with off-topic posts, consider a just-for-fun or off-topic side list to divert threads to once they wander off code and into sports, kittens, beer, or knitting. It's easier to say "You shouldn't do that here" than "You shouldn't do that, period"; it's even easier to say "You shouldn't do that here, but it would be great right over there." And most of us could use a sports, kittens, beer, or knitting break every now and then.