As mentioned by krstcs, report files cannot be attached until the report is not fully written(finished). Therefore, you need to use the sendmail code as the very last step in program.cs. Also, it would be much easier for you if you set your tests to use the rxzlog, instead of rxlog. Rxzlog is a compressed ranorex log file, which contains all necessary report files. In fact, it's just a simple zip file with "rxzlog" extension

To be able to view the rxzlog, you need to make sure there is installed ranorex report viewer on each machine where you want to view the log. It's not necessary to install whole Ranorex on these machines. As far as I remember, it's just required to copy these few files from Ranorex setup...
Ranorex.Controls.dll
Ranorex.Core.dll
Ranores.Libs.dll
Ranorex.ReportViewer.exe
Or you can simply extract the rxzlog (using any zip extractor) and simply view it in a web browser.
However, I wholeheartedly agree with krstcs regarding the continuous integration. It may require some time to learn and setup CI, but it's much more reliable way to send reports. And it's just a small fraction of all good things you will get by using CI.