In this paper, we consider the following non-homogeneous elliptic problem
\begin{gather*}
-\Delta u+u=\lambda(u^{p-1}+h(x))\text{ in }\varOmega, \\ u>0\text{ in }\varOmega,\quad u\in H_0^{1}(\varOmega),
\end{gather*}
where $2<p<2N/(N-2)$, $N\geq3$, $\lambda>0$, $\varOmega=\bar\omega^{c}$ is an exterior domain in $\mathbb{R}^N$, where $\omega$ is a bounded set with smooth boundary, $h\in L^{2}(\varOmega)\cap L^{\beta}(\varOmega)$ ($\beta>\tfrac{1}{2}N$ if $N\geq4$ and $\beta=\tfrac{1}{2}N$ if $N=3$) is non-negative and $h(x)\not\equiv0$. We use variational methods to show that there exists a positive number $\lambda_0$ such that the equation above has at least two positive solutions if $\lambda\in(0,\lambda_0)$, no positive solution if $\lambda>\lambda_0$ and at least one positive solution if $\lambda=\lambda_0$. Furthermore, we use the Lyusternik–Schnirelman category to show that there exists a positive number $\lambda_{\ast}<\lambda_0$ such that the above equation has at least three positive solutions if $\lambda\in(0,\lambda_{\ast})$.