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.