невозможно отправить письмо в C # - PullRequest
0 голосов
/ 21 октября 2019

Я работаю над сайтом, который использует ASP.NET и C #. Он принимает пользовательский ввод, включая электронную почту через asp.net, а затем отправляет электронную почту на эту электронную почту, используя C #. На самом деле это отправить запланированный отчет людям. Но письмо не отправляется.

Я также попытался установить usedefaultnetworkcredential=false, но он не работал

internal static bool SendEmailNetMail(string toEmail, string subject, string body, MemoryStream ms, string fileName = "attachment.xlx", bool includeLogo = false)
    {


        toEmail = toEmail.Replace(";", ",");
        toEmail = toEmail + ",saeed.bhatti@ver-sys.com";
        var fromAddress = new MailAddress("vinspectreports@ver-sys.net", "Scheduled Reports");
        // var toAddress = new MailAddress(toEmail, "Valued Customer");
        MailAddressCollection addresses = new MailAddressCollection();
        addresses.Add(toEmail);


        var smtpClient = new SmtpClient() //;
        /* not Moving the Email credentials to web.config file*/
        {
            Host = "mail.ver-sys.net",
            Port = 1025,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            Credentials = new NetworkCredential("vinspectreports@ver-sys.net", "password"),
            Timeout = 900000

        };
        smtpClient.UseDefaultCredentials = false;

        using (var message = new MailMessage()
        {
            From = fromAddress,

            Subject = subject,
            Body = body,
            IsBodyHtml = true
        })
        {

            message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
            message.To.Add(toEmail);
            try
            {
                //Attachment attachment = new Attachment("test.xls");
                if (ms != null)
                {


                    System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType("application/vnd.ms-excel");
                    System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(ms, ct);
                    attach.ContentDisposition.FileName = fileName;

                    message.Attachments.Add(attach);

                }
               // MessageBox.Show("mail Send");
                smtpClient.Send(message);
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                return false;
            }
            return true;
        }

1 Ответ

0 голосов
/ 21 октября 2019

Попробуйте изменить порт на 25 или 587

Посмотрите на эти ресурсы для пошаговой отправки электронной почты:

  1. Как отправить электронное письмо в ASP.NET C #
  2. https://www.a2hosting.com/kb/a2-hosting-products/windows-hosting/using-asp-net-to-send-e-mail-messages
...