Hi sam34567,
Please refer below sample for insert record in database and send email.
Refer below link for sending multiple file .
HTML
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 80px">
To:
</td>
<td>
<asp:TextBox ID="txtTo" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
Subject:
</td>
<td>
<asp:TextBox ID="txtSubject" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td valign="top">
Body:
</td>
<td>
<asp:TextBox ID="txtBody" runat="server" TextMode="MultiLine" Height="150" Width="200"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
File Attachments:
</td>
<td>
<asp:FileUpload ID="fuAttachment" runat="server" AllowMultiple="true" />
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
Gmail Email:
</td>
<td>
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
Gmail Password:
</td>
<td>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button ID="btnSend" Text="Send" OnClick="SendEmail" runat="server" />
</td>
</tr>
</table>
</div>
Namespaces
C#
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Data.SqlClient;
using System.Configuration;
Vb.Net
Imports System.Net
Imports System.Data.SqlClient
Imports System.Net.Mail
Code
C#
private void InsertFile(string fileName, string filePath)
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
string query = "insert into tblFilesEmail values (@Name, @Path)";
using (SqlCommand cmd = new SqlCommand(query))
{
cmd.Connection = con;
cmd.Parameters.AddWithValue("@Name", fileName);
cmd.Parameters.AddWithValue("@Path", filePath);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
protected void SendEmail(object sender, EventArgs e)
{
string to = txtTo.Text;
string from = txtEmail.Text;
string subject = txtSubject.Text;
string body = txtBody.Text;
using (MailMessage mm = new MailMessage(txtEmail.Text, txtTo.Text))
{
mm.Subject = txtSubject.Text;
mm.Body = txtBody.Text;
string[] files = Directory.GetFiles(Server.MapPath("~/Uploads/"));
foreach (string file in files)
{
string fileName = Path.GetFileName(file);
mm.Attachments.Add(new Attachment(file));
this.InsertFile(fileName, "~/Uploads/" + fileName);
}
mm.IsBodyHtml = false;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential(txtEmail.Text, txtPassword.Text);
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Email sent.');", true);
}
}
Vb.Net
Private Sub InsertFile(ByVal fileName As String, ByVal filePath As String)
Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
Using con As SqlConnection = New SqlConnection(constr)
Dim query As String = "insert into tblFilesEmail values (@Name, @Path)"
Using cmd As SqlCommand = New SqlCommand(query)
cmd.Connection = con
cmd.Parameters.AddWithValue("@Name", fileName)
cmd.Parameters.AddWithValue("@Path", filePath)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Using
End Using
End Sub
Protected Sub SendEmail(ByVal sender As Object, ByVal e As EventArgs)
Dim [to] As String = txtTo.Text
Dim from As String = txtEmail.Text
Dim subject As String = txtSubject.Text
Dim body As String = txtBody.Text
Using mm As MailMessage = New MailMessage(txtEmail.Text, txtTo.Text)
mm.Subject = txtSubject.Text
mm.Body = txtBody.Text
Dim files As String() = Directory.GetFiles(Server.MapPath("~/Uploads/"))
For Each file As String In files
Dim fileName As String = Path.GetFileName(file)
mm.Attachments.Add(New Attachment(file))
Me.InsertFile(fileName, "~/Uploads/" & fileName)
Next
mm.IsBodyHtml = False
Dim smtp As SmtpClient = New SmtpClient()
smtp.Host = "smtp.gmail.com"
smtp.EnableSsl = True
Dim NetworkCred As NetworkCredential = New NetworkCredential(txtEmail.Text, txtPassword.Text)
smtp.UseDefaultCredentials = True
smtp.Credentials = NetworkCred
smtp.Port = 587
smtp.Send(mm)
ClientScript.RegisterStartupScript(Me.[GetType](), "alert", "alert('Email sent.');", True)
End Using
End Sub