This looks like a situation where you would like to model the errors using a mixture distribution, e.g.,
$e_i \sim pf_1(e_i|\theta_2) + (1-p)f_2(e_i|\theta_2)$
Often, in a simple model, $f_1$ and $f_2$ would be Normal with mean zero and standard deviations $\sigma_1$ and $\sigma_2$, where $\sigma_2$ might be set to 3-10 times $\sigma_1$. Thus, $f_2$ represents the outlier distribution, and $f_1$ represents the "regular" distribution. In the early days of robust analysis, 3 was considered "mild" contamination, and 10 "severe" contamination. You could of course estimate $\sigma_2$ along with $\sigma_1$.
For this type of problem, if you're not being Bayesian, some form of EM is the way to go. Within the framework of the EM algorithm, your missing data would be the latent indicator. You would get out estimates of the probabilities that the observations are drawn from the outlier distribution as well as parameter estimates for the model and the $f_i$. The EM algorithm and Extensions (free ebook download, why not?) will pretty much walk you through the algorithm for this case (section 2.7 in my edition, "Finite Normal Mixtures...", if you don't already have it.)
Of course, you should consider alternatives to mixture modeling as well, e.g., rlm
in R, which, in its output, contains information that easily helps identify which observations are being flagged as likely outliers.