mvcMailer жалуется на SMTP-хост, когда я хочу использовать каталог раскладки - PullRequest
2 голосов
/ 05 декабря 2011

Это немного действует мне на нервы, потому что я не могу найти причину, по которой это не работает. У меня есть код 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, это правильная конфигурация для использования.

1 Ответ

1 голос
/ 05 декабря 2011

Попробуйте что-то вроде ниже.Ниже всегда работает для меня:

  <smtp from="some-email@gmail.com" deliveryMethod="SpecifiedPickupDirectory">
          <network host="localhost" />
          <specifiedPickupDirectory pickupDirectoryLocation="c:\temp\"/>
  </smtp>
...