This is actually pretty easy, depending on the version of Crystal you use.
You need a
ReportDocument[
^] (which you probably have if you have a viewer) and use the
ExportToStream[
^] function.
Now simply pass the
Stream[
^] to the constructor of an
Attachment[
^].
Other than that you can simply use the
MailMessage[
^] and
SmtpClient[
^] like you would for any other mail.
Using this method does not require you to save the report to disk (not even temporarily).
Hope it helps!