Это немного действует мне на нервы, потому что я не могу найти причину, по которой это не работает. У меня есть код mvcMailer, который работает, если я укажу в web.config использовать SMTP. Я не хочу использовать SMTP, но я хочу использовать папку drop. Это часть кода, который выполняет отправку:
[HttpPost]
public ActionResult Edit(Deviation deviation, int[] Epost)
{
if (ModelState.IsValid)
{
db.Entry(deviation).State = EntityState.Modified;
db.SaveChanges();
if (Epost != null)
{
var myEpost = from p in db.Users
where Epost.Contains(p.UserID)
select p;
myEpost.ToList();
var subject = deviation.Benamning;
var body = deviation.KortBeskrivning;
var avId = deviation.DeviationId;
foreach (var item in myEpost)
{
var mailer = new UserMailer();
var msg = mailer.DeviationMessage(email: item.Epost, body: body, subject: subject, name: item.Name, avId: avId);
msg.Send();
}
}
return RedirectToAction("Index");
//return RedirectToAction("Index");
}
return View(deviation);
}
Этот код работает, если файл web.config настроен так:
<smtp from="user@domain.com">
<network enableSsl="false" host="192.168.111.11" port="25" userName="user@domain.com" password="password" />
</smtp>
Но ни одна из этих альтернатив не работает, все они выдают одинаковую ошибку (хост SMTP не указан):
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\inetpub\mailroot\pickup"/>
</smtp>
<smtp from="user@domain.com" deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\inetpub\mailroot\pickup"/>
</smtp>
Стоит отметить, что, я думаю, файл создается в папке для удаления в любом случае, несмотря на ошибку. Я просто не знаю, что не так, основываясь на том, что я смог найти на mvcmailer, это правильная конфигурация для использования.