Even with the help of the breakurl package, your example will produce overfull boxes. This is because breakurl will only break urls after one of the following symbols :/.?#&_,;! and before any ocurrence of the symbol %.
To overcome this you have two possibilities: to use \sloppy (which will make the spacing look really awful) or to manually insert some spaces in the appropriate places to help the package find a proper break-point for the urls.
In the following example I show a reduced version of your example with three variants: the first one shows the default output obtained with breakurl; in the second one, I manually inserted some \hspaces, and in the third one I used \sloppy. It's up to you to decide which of the two last approaches looks less ugly and is more practical.
I used draft to see the overfull boxes more clearly. The code must be compiled through latex.
\documentclass[draft,10pt]{article}
\usepackage[colorlinks]{hyperref}
\usepackage{breakurl}
\hypersetup{pdfborder={0 0 100}}
\def\emailA{\url{abcdefghi.jklmn.opqrs.tuvwxyz@tuvwxyz.com}\ }
\def\emailB{\url{jklmn.opqrs.tuvwxyz.abcdefghi@tuvwxyz.com}\ }
\begin{document}
The example:
\emailA or \emailB or \emailB or \emailA or
\emailA or \emailB or \emailB or \emailA or
\emailA or \emailB or \emailB
\vspace{1cm}
The example with \verb+\hspace+s manually inserted:
\hspace*{-4pt}\emailA or \emailB or \emailB or \emailA\hspace{3pt} or\hspace{4pt}
\emailA or \emailB or \emailB or \emailA or
\emailA or \emailB\hspace{3pt} or\hspace{3pt} \emailB
\vspace{1cm}
The example with \verb+\sloppy+:
\begingroup
\sloppy
\emailA or \emailB or \emailB or \emailA or
\emailA or \emailB or \emailB or \emailA or
\emailA or \emailB or \emailB\par
\endgroup
\end{document}
