Sending a Report by Email
Our sample projects and report templates can help you learn the basics of working with our products.This example is outdated, you can check out the many other new examples in this category.This example shows how to send a report by email. First, import scripts:
Next, define URL template to server controller, initial action and viewer height:
Then, create
After that, get report:
Next, create action to send email:
Finally, process other viewer requests:
In the screenshot below you can see the result of the sample code:

...
import { StimulsoftViewerModule } from 'stimulsoft-viewer-angular';
...
imports: [
...
StimulsoftViewerModule,
...
],
...
Next, define URL template to server controller, initial action and viewer height:
<stimulsoft-viewer-angular
[requestUrl]="'http://localhost:60801/Viewer/{action}'"
[action]="'InitViewer'"
[height]="'600px'"
></stimulsoft-viewer-angular>
Then, create
ViewerController. Next, initialize the viewer and set email options:
...
[HttpPost]
public IActionResult InitViewer()
{
var requestParams = StiAngularViewer.GetRequestParams(this);
var options = new StiAngularViewerOptions();
options.Actions.GetReport = "GetReport";
options.Actions.EmailReport = "EmailReport";
options.Actions.ViewerEvent = "ViewerEvent";
options.Appearance.ScrollbarsMode = true;
options.Toolbar.ShowSendEmailButton = true;
return StiAngularViewer.ViewerDataResult(requestParams, options);
}
...
After that, get report:
...
[HttpPost]
public IActionResult GetReport()
{
var report = StiReport.CreateNewReport();
var path = StiAngularHelper.MapPath(this, $"Reports/MasterDetail.mrt");
report.Load(path);
return StiAngularViewer.GetReportResult(this, report);
}
...
Next, create action to send email:
...
[HttpPost]
public IActionResult EmailReport()
{
StiEmailOptions options = StiAngularViewer.GetEmailOptions(this);
// Passed from the viewer, can be checked and changed
// options.AddressTo = "";
// options.Subject = "";
// options.Body = "";
// Should be filled here
options.AddressFrom = "admin_address@test.com";
options.Host = "smtp.test.com";
options.Port = 465;
options.UserName = "admin_address@test.com";
options.Password = "admin_password";
// options.CC.Add("email@test.com");
// options.BCC.Add("email@test.com");
// options.EnableSsl = true;
return StiAngularViewer.EmailReportResult(this, options);
}
...
Finally, process other viewer requests:
...
[HttpPost]
public IActionResult ViewerEvent()
{
return StiAngularViewer.ViewerEventResult(this);
}
...In the screenshot below you can see the result of the sample code:
