In the previous Example we already Explain How to
Send mail in Asp.Net .but in this Example we can explain how to send mail
with Atteched file or file Attechment facility in email in mvc4. we ca
also Atteched the word file,Excel file,image File or any other type of File
with an Email in asp.net with mvc.
in which Example you can send Email with an attechment using SMTP server. the System.Web.Mail Namespace Provide classes MailMessage are used for sending Email and Mailattechment class are used for manage the Attechment of the File.
we provide same facility as provided by Gmail you can easily upload any type of one or more file with mail and send to the other user in by using it's email id.
in which Example you can send Email with an attechment using SMTP server. the System.Web.Mail Namespace Provide classes MailMessage are used for sending Email and Mailattechment class are used for manage the Attechment of the File.
we provide same facility as provided by Gmail you can easily upload any type of one or more file with mail and send to the other user in by using it's email id.
Ajax Autocomplete Textbox search example autocomplete textbox search in asp.net
You have to add the Foolowing Namespace to Send mail to user like
using System.Net.Mail;
Here we Define Simple Code that How to Attach
File in Email
MailMessage mail = new MailMessage();
//Attach file using FileUpload Control and put the file in memory stream
if (fileUpload1.HasFile)
{
mail.Attachments.Add(newAttachment(fileUpload1.PostedFile.InputStream,
fileUpload1.FileName));
}
You Have Require SMTP Email Configuration before sendind Email to other user so to configure the Setting please Click Here this post will Explain that in briefly.
Click Here Configure SMTP Email setting
to send mail first create model class in a model folder
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace SendMailwithAttachment.Models
{
public class MailModel
{
public string To { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
}
}
}
SendMailcontroller.cs:-
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Web;
using System.Web.Mvc;
namespace SendMailwithAttachment.Controllers
{
public class SendMailerController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(SendMailwithAttachment.Models.MailModel objModelMail, HttpPostedFileBasefileUploader)
{
if (ModelState.IsValid)
{
string from = "Your Gmail Id"; //example:- kiritpatel@gmail.com
using (MailMessage mail = new MailMessage(from, objModelMail.To))
{
mail.Subject = objModelMail.Subject;
mail.Body = objModelMail.Body;
if (fileUploader
!= null)
{
string fileName = Path.GetFileName(fileUploader.FileName);
mail.Attachments.Add(new Attachment(fileUploader.InputStream, fileName));
}
mail.IsBodyHtml = false;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
NetworkCredential networkCredential
= new NetworkCredential(from, "Your Gmail Password");
smtp.UseDefaultCredentials = true;
smtp.Credentials = networkCredential;
smtp.Port = 587;
smtp.Send(mail);
ViewBag.Message = "Sent";
return View("Index", objModelMail);
}
}
else
{
return View();
}
}
}
}
Index.cshtml
@model SendMailwithAttachment.Models.MailModel
@{
ViewBag.Title = "Index";
}
<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script>
$(document).ready(function () {
if ('@ViewBag.Message' == 'Sent') {
alert('Mail has been sent successfully');
}
});
</script>
<h2>Index</h2>
<fieldset>
<legend>Send Email
</legend>
@using (@Html.BeginForm("Index", "SendMailer", FormMethod.Post, new { @id = "form1", @enctype ="multipart/form-data" }))
{
@Html.ValidationSummary()
<input type="submit" value="Send" />
<table>
<tr>
<td>To:
</td>
<td>
@Html.TextBoxFor(m => m.To)
</td>
</tr>
<tr>
<td>Subject:
</td>
<td>
@Html.TextBoxFor(m => m.Subject)
</td>
</tr>
<tr>
<td>Attachment
</td>
<td>
<input type="file" name="fileUploader" />
</td>
</tr>
<tr>
<td>Body:
</td>
<td>
@Html.TextAreaFor(m => m.Body)
</td>
</tr>
</table>
}
</fieldset>
0 comments:
Post a Comment