I have a gridview with product details(Id, Name, Product Catalog Image) binded from a database.
Now i want to select products from the gridview & mail them to the list of emails(specifed earlier) Please tell me how can i create a module through which i can acheive this task. Any other suggestion that could siplify the task of selecting catalog and mailing welcome.

Well the catalog will be in the form of any attachment & the product details as a PDF file containing the details of the selected products.
I tried this code on button click but this code is mailing all files rather than the selected checkbox files. The images files are in database.
protected void btnSendMail_Click(object sender, EventArgs e)
{
MailMessage mm = new MailMessage();
mm.From = new MailAddress("futureminds99@gmail.com");
mm.To.Add("futureminds99@gmail.com");
mm.Subject = "Catalog As Required";
mm.Body = "this content is in the body";
string sContent = string.Empty;
sContent = "<table><tr><td>Product Name</td><td>Product Image</td><tr>";
string sServerUrl = "https://shop.askdabur.com/";
string sToMailId = "ashish.mishra@mrm-mccann.com";
string sAttchent = string.Empty;
string attachmentPath = string.Empty;
foreach (GridViewRow row in gvProduct.Rows)
{
int rowIndex = row.RowIndex;
string ProductID = Convert.ToString(gvProduct.DataKeys[rowIndex].Values["ProductMasterID"]);
CheckBox chkSelect = (CheckBox)row.FindControl("chkSelect");
Label lblProductname = (Label)row.FindControl("lblProductname");
Label lblProductImage = (Label)row.FindControl("lblProductImage");
string sProoductName = string.Empty;
string sProductImage = string.Empty;
if (chkSelect.Checked)
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM ProductDetails";
cmd.Connection = con;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
byte[] barrImg = (byte[])dt.Rows[i]["ProductImageLink"];
byte[] data = GetData(barrImg);
MemoryStream ms = new MemoryStream(data);
mm.Attachments.Add(new Attachment(ms, dt.Rows[i]["Name"].ToString(), dt.Rows[i]["ContentType"].ToString()));
// Label1.Text = TextBox1.Text;
}
}
}
}
mm.Subject = "IEMCO Quotaion ";
// mm.Body = "Greeting,<br/><br/>Thanks for choosing IEMCO as your business partner.<br/><br/>As discussed, the quotation of requested product is attached herewith this mail.<br/><br/> Please have a look & let us know your final requirement.<br/><br/>";
// mm.Attachments.Add(new Attachment(crystalReport.ExportToStream(ExportFormatType.PortableDocFormat), "Report.pdf"));
mm.IsBodyHtml = true;
mm.Body += sContent;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
NetworkCredential credential = new NetworkCredential();
credential.UserName = "futureminds99@gmail.com";
credential.Password = "Khyali_009";
smtp.UseDefaultCredentials = true;
smtp.Credentials = credential;
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Send(mm);
// Label1.Visible = true;
// Label1.Text = "Data Sent";
}