Мой метод "SendMailByAttach" не работает должным образом - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть метод действия SendMail и метод SendMailByAttach, но я не знаю, почему мой метод SenMailByAttach не работает и собирается поймать, я установил enable 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 метод собирается поймать

1 Ответ

0 голосов
/ 25 декабря 2018

Возможно, вы пытаетесь отправить электронную почту с помощью gmail в localhost. В этом случае войдите в свою учетную запись Google, с которой вы отправляете электронное письмо, и перейдите по этой ссылке и разрешите менее безопасные приложения.

Если вы столкнулись с проблемой на удаленном сервере, вам нужно отключить «Captcha» и разрешить менее безопасное приложение, перейдя по указанной выше ссылке.Чтобы отключить «Captcha», перейдите на эту ссылку.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...