Ok, I'm kinda new too but I think I can help.
First, call it programmatically use:
Dim MyReport as new (ReportName).rpt
//If ADO.net dataset is dataSource,
myReport.setDataSource(dataset)
//as for your parameters, you wnat just discrete values? I hope so, I haven't actually done this but apparently use can use formulas and it's much easier. Write the "formula" in the editor using crystal syntax then in the code write:
MyReport.DataDefinitons.FormulaFields("AField").Text="boobery"
//ok now e-mail, I don't know if I trust you with your "I'm not a badguy routine", but I'll help a little
MyReport.ExportOptions.ExportDestinationType = CrytalDecisions.Shared.ExportDestinationType.MicrosoftMail
Dim SendInfo as CrystalDecisions.MicrosoftMAilDestinationOptions = new cd.mmdo
//then set for options stuff like username,password, mail-to
//then set the options to your report property destinationOptions
myreport.exportOptions.DestinationOptions=SendInfo
That should be a good start, but don't go spamming reports to people!