У меня есть форма обратной связи на моем сайте, и у меня есть <input type="file">
в моей форме, поэтому иногда вам нужно будет добавить прикрепление к электронной почте.
Я создал <input type="file">
в моей формеДобавить вложение по электронной почте asp.net mvc 4
@Html.TextBoxFor(model => model.ProjectInformation, null, new { type = "file", @class = "input-file" })
то в моем контроллере я создаю электронную почту и попытаться добавить Attachment
[HttpPost]
public ActionResult Feedback(FeedbackForm Model)
{
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.BodyEncoding = Encoding.UTF8;
msg.From = new MailAddress("[email protected]", @Resources.Global.Feedback_Email_Title);
msg.To.Add("[email protected]");
string message = @Resources.Global.Feedback_Name + ": " + Model.Name + "\n"
+ @Resources.Global.Feedback_Email + ": " + Model.Email + "\n"
+ @Resources.Global.Feedback_Phone + ": " + Model.Phone + "\n"
+ @Resources.Global.Feedback_Company + ": " + Model.Company + "\n\n"
+ Model.AdditionalInformation;
msg.Body = message;
msg.IsBodyHtml = false;
//Attachment
if (Model.ProjectInformation != null)
{
HttpPostedFileBase attFile = Model.ProjectInformation;
int attachFileLength = attFile.ContentLength;
if (attachFileLength > 0)
{
string strFileName = Path.GetFileName(Model.ProjectInformation.FileName);
Model.ProjectInformation.SaveAs(Server.MapPath(strFileName));
Attachment attach = new Attachment(Server.MapPath(strFileName));
msg.Attachments.Add(attach);
string attach1 = strFileName;
}
}
SmtpClient client = new SmtpClient("smtp.mail.ru", 25);
client.UseDefaultCredentials = false;
client.EnableSsl = false;
try
{
client.Send(msg);
}
catch (Exception ex)
{
}
FeedbackForm tempForm = new FeedbackForm();
return View(tempForm);
}
, но я думаю, что мне нужно, чтобы удалить вложение после отправки и я пытаюсь добавить код здесь
try
{
client.Send(msg);
if (attach1 != null)
File.Delete(Server.MapPath(attach1));
}
, но я получаю некоторые ошибки
и
Что я должен сделать, чтобы исправить это?
Спасибо, это помогло, но второй ошибкой http://i.stack.imgur.com/aDFxO.png не фиксировано. – Heidel
@Heidel Недопустимое пространство имен, вы должны использовать 'System.IO.File' – webdeveloper
Я использую' using System.IO; ', но это не помогает, та же ошибка. – Heidel