2 votes

mvcMailer se plaint de l'hôte SMTP, alors que je veux utiliser un répertoire de collecte.

Cela m'a un peu énervé car je ne trouve pas de raison pour que cela ne fonctionne pas. J'ai un code mvcMailer qui fonctionne si je spécifie dans web.config d'utiliser SMTP. Mais je ne veux pas utiliser le SMTP, je veux utiliser le dossier de dépôt. C'est une partie du code qui effectue l'envoi :

    [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);
    }

Ce code fonctionne si le fichier web.config est configuré comme ceci :

<smtp from="user@domain.com">
    <network enableSsl="false" host="192.168.111.11" port="25" userName="user@domain.com" password="password" />
  </smtp>

Mais aucune de ces alternatives ne fonctionne, elles donnent toutes la même erreur (hôte SMTP non spécifié) :

<smtp deliveryMethod="SpecifiedPickupDirectory">
    <specifiedPickupDirectory pickupDirectoryLocation="C:\inetpub\mailroot\pickup"/>
  </smtp>

<smtp from="user@domain.com" deliveryMethod="SpecifiedPickupDirectory">
    <specifiedPickupDirectory pickupDirectoryLocation="C:\inetpub\mailroot\pickup"/>
  </smtp>

Il est intéressant de noter qu'un fichier est quand même créé dans le dossier de dépôt, malgré l'erreur. Je ne sais pas ce qui ne va pas, d'après ce que j'ai pu trouver sur mvcmailer, c'est la configuration correcte à utiliser.

1voto

tugberk Points 16203

Essayez quelque chose comme ci-dessous. Celui ci-dessous fonctionne toujours pour moi :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X