2

これが機能しない理由が見つからないため、これはかなり神経質になっています。SMTPを使用するようにweb.configで指定すると機能するmvcMailerコードがあります。SMTP は使いたくありませんが、ドロップ フォルダを使用したいのです。これは、送信を行うコードの一部です。

    [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 で見つけたものに基づいて、これが使用する正しい構成です。

4

1 に答える 1

1

以下のようなものを試してください。以下のものは常に私のために働きます:

  <smtp from="some-email@gmail.com" deliveryMethod="SpecifiedPickupDirectory">
          <network host="localhost" />
          <specifiedPickupDirectory pickupDirectoryLocation="c:\temp\"/>
  </smtp>
于 2011-12-05T08:07:29.057 に答える