Нет ничего изначально проблемного в запуске новых потоков, когда служба размещается в IIS, но учтите следующее:
Насколько важно, чтобы электронное письмо было отправлено?
Когда вы запускаете фоновый поток, нет гарантии, что процесс не завершится сбоем до завершения операции. В худшем случае машина может просто выйти из строя из-за внешних причин (потеря питания, синий экран смерти и т. Д.), И вы действительно ничего не можете сделать, чтобы предотвратить это. В таких случаях (и, возможно, менее серьезных случаях) поток может никогда не завершить свою работу, что означает, что электронное письмо никогда не отправляется.
Если вы можете жить с этим, отправка электронного письма из новой темы - это нормально.
Если, с другой стороны, вы должны гарантировать, что письмо всегда будет отправлено, вам нужно будет передать эту операцию какой-либо транзакционной очереди (MSMQ, таблица базы данных или какой-либо другой транзакционный механизм).
В этом случае вам потребуется еще один надежный фоновый процесс (на ум приходит служба Windows), который извлекает сообщения из очереди и отправляет электронные письма. Эта архитектура гарантирует, что электронные письма будут в конечном итоге отправлены, даже если сервер внезапно перезагрузится. Однако это гораздо более сложная установка, поэтому я думаю, что вы должны реализовать ее только в том случае, если в требованиях указано, что электронные письма должны отправляться.