0

这是一段用于生成邮件的代码,在我没有附加路径作为参数之前一直有效。问题是如果我附上它没有抛出任何错误的路径(没有日志)。只是页面开始没有响应,调试器甚至没有跳转到下一行。任何帮助都将帮助我理解我的错误。谢谢

public ActionResult Mailsending(string list)
      {
        try
        {
            string strIdeas = string.Empty;
            string Certpath =  System.Configuration.ConfigurationManager.AppSettings["UploadPath"];
            List<int> list = new List<int>();
            List<string> pramAttachment = new List<string>();              
            pramAttachment.Add(Server.MapPath(Certpath) + "MyPdf.pdf"); ///Path of the generated pdf.
            Submitidlist = new CommonBL().GetSubmiidListForGenerateMail();

            new CommonBL().UpdateIsGenerateStatus(ideaidlist, UserID);

            foreach (var item in ideaidlist)
            {
                strIdeas = strIdeas + item.ToString() + ",";
            }
            GenerateMyPDF(list); //Here pdf is generating

            string path = GenerateMail(strIdeas.TrimEnd(','));

            if (path != string.Empty)
            {
                new CommonBL().AddGenerateImagePath(path, UserId);
                new MailSender().SendMail((int)eMailType.GenerateMail, null, pramAttachment); // here path is added as parameter,and after this debugger not jump out of this scope.

            }               
            return Json("Mail generated Successfully."); ///no message showing

        }
        catch (Exception ex)
        {
            return Json("Error");
        }
    }

编辑: public class MailSender : IDisposable { public bool SendMail(short mailId, List> parameters, List attachmentsPath = null); }

4

2 回答 2

0

可能仍然在生成的 PDF 上保留锁定,因此 MailSender 由于该排他锁而无法访问它。您可以发送包含以前生成的文件的电子邮件吗?

于 2016-01-28T05:10:00.343 回答
0

添加一点显然也是这个问题的答案,是:调试整个代码后,我发现我的 smtp 服务器不允许向我发送邮件,所以即使上面的代码是正确的,它也会显示正在处理。因此,如果有人使用上述代码将可以正常工作。

更新:从控制面板配置我的邮件服务后,它现在可以正常工作了。所以如果有人想参考这个可以继续。代码很好。

于 2016-01-29T18:11:47.797 回答