为什么即使路径有效也无法发送电子邮件
Why email is not sending even if the path is working
这是一段用于生成邮件的代码,在我没有将路径作为参数附加之前一直有效。问题是,如果我附加路径,它不会抛出任何错误(无日志)。只是页面开始没有响应,调试器甚至不跳到下一行。
任何帮助都会帮助我理解我的错误。谢谢
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 邮件发件人:IDisposable
{
public bool SendMail(short mailId, List> parameters, List attachmentsPath = null);
}
可能仍在生成的 PDF 上留下锁,因此 MailSender 由于排他锁而无法访问它。您可以发送包含之前生成的文件的电子邮件吗?
添加一个显然也是这个问题的答案的观点是:
调试了整个代码后,我发现我的smtp服务器不允许给我发邮件,所以即使上面的代码正确,它也显示处理中。
因此,如果有人使用上述代码,则可以正常工作。
一个更新:现在从控制面板配置我的邮件服务后它工作正常。所以如果有人想从中参考可以继续。代码没问题。
这是一段用于生成邮件的代码,在我没有将路径作为参数附加之前一直有效。问题是,如果我附加路径,它不会抛出任何错误(无日志)。只是页面开始没有响应,调试器甚至不跳到下一行。 任何帮助都会帮助我理解我的错误。谢谢
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 邮件发件人:IDisposable { public bool SendMail(short mailId, List> parameters, List attachmentsPath = null); }
可能仍在生成的 PDF 上留下锁,因此 MailSender 由于排他锁而无法访问它。您可以发送包含之前生成的文件的电子邮件吗?
添加一个显然也是这个问题的答案的观点是: 调试了整个代码后,我发现我的smtp服务器不允许给我发邮件,所以即使上面的代码正确,它也显示处理中。 因此,如果有人使用上述代码,则可以正常工作。
一个更新:现在从控制面板配置我的邮件服务后它工作正常。所以如果有人想从中参考可以继续。代码没问题。