【发布时间】:2018-12-26 20:55:35
【问题描述】:
我有一个SendMail 操作方法和一个SendMailByAttach 方法,但我不知道为什么我的SenMailByAttach 方法不起作用并且要捕获,我设置了启用 ssl 并且...但它不起作用!
我的SendMail 操作方法工作正常,但我认为我的问题出在SendMailByAttach 方法中,我在 html 中正确输入:
public static bool SendMailByAttach(string subject, string body, string attachment, params string[] toMails)
{
try
{
var mailMsg = new MailMessage();
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.HeadersEncoding = Encoding.UTF8;
mailMsg.SubjectEncoding = Encoding.UTF8;
mailMsg.Priority = MailPriority.High;
mailMsg.Subject = subject;
mailMsg.Body = body;
mailMsg.IsBodyHtml = true;
mailMsg.From = new MailAddress("maxspeed201@gmail.com", "مهران ", Encoding.UTF8);
mailMsg.Sender = new MailAddress("maxspeed201@gmail.com", "مهران ", Encoding.UTF8);
mailMsg.Attachments.Add(new Attachment(attachment));
foreach (var mail in toMails)
{
mailMsg.To.Add(new MailAddress(mail));
}
var smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Timeout = 1000;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential("MyEmail", "MyPasswordEmail");
smtp.Send(mailMsg);
return true;
}
catch
{
return false;
}
}
这是我的操作方法:
public ActionResult SendMail(string recivers, string title, string text, HttpPostedFileBase attachment)
{
bool result = false;
if (attachment != null)
{
string path = Server.MapPath("~") + "\\Files\\Attachment\\" + Path.GetFileName(attachment.FileName);
attachment.SaveAs(path);
//az ultility sendemailbyAttachment etefade kardim
result = MailSender.SendMailByAttach(title, text, path, recivers.Split(','));
}
else
{
result = MailSender.SendMail(title, text, recivers.Split(','));
}
if (result)
{ //Success in sending
return MessageBox.Show("پیام با موفقیت ارسال شد", MessageType.Success);
}
else
{
return MessageBox.Show("پیام ارسال نشد", MessageType.Error);
}
}
我的SendMailByAttach 方法会被捕获
【问题讨论】:
-
调试 101:在
catch块中 - 检查 exception 对象,看看它告诉你什么! -
你可以——例如——实际检查抛出了什么异常。这可以提示您出了什么问题...
-
我跟踪我的代码,一切都还好,我的输入,如我的接收者,标题和文本,并发送到我的方法,但我不知道为什么会出现异常 那是错误异常(SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 身份验证需要。了解更多信息)!!!!
标签: c# asp.net-mvc