Отправка почты из приложения ASP.NET - PullRequest
2 голосов
/ 10 июля 2011

Есть ли способ отправить почту из приложения asp.net?Сейчас я пытаюсь выяснить, как создавать электронные письма с подтверждением, когда вы подписываетесь на услугу.

Ответы [ 5 ]

4 голосов
/ 10 июля 2011
System.Web.Mail.MailMessage message=new System.Web.Mail.MailMessage();
message.From="from e-mail";
message.To="to e-mail";
message.Subject="Message Subject";
message.Body="Message Body";
System.Web.Mail.SmtpMail.SmtpServer="SMTP Server Address";
System.Web.Mail.SmtpMail.Send(message);
2 голосов
/ 10 июля 2011

Взгляните на следующую ссылку, в которой подробно рассказывается о том, как отправлять почту с Asp.net:

.

http://www.dijksterhuis.org/using-csharp-to-send-an-e-mail-through-smtp/

2 голосов
/ 10 июля 2011

Проверьте SmtpClient класс . Например, код см. этот ответ от Шломи.

1 голос
/ 10 июля 2011

этот код поможет вам начать используя (MailMessage mm = new MailMessage ()) {

                mm.From = new MailAddress("noreply@mail.com");

                SmtpClient client = new SmtpClient("127.0.0.1");

                string smtpServerUserName = "username";
                string smtpServerPassword = "password"; 
            if (smtpServerUserName.HasValue() && smtpServerPassword.HasValue())
                {
                    client.Credentials = new NetworkCredential(smtpServerUserName, smtpServerPassword);
                }
                smtpServerPort = "";
                if (smtpServerPort.HasValue())
                {
                    client.Port = Convert.ToInt32(smtpServerPort, CultureInfo.InvariantCulture);
                }
                mm.Priority = MailPriority.Normal;

                mm.IsBodyHtml = false;

                mm.Subject = subject;
                mm.To.Add(new MailAddress("you@home.com"));
                mm.Body = body;

                client.Send(mm);
            }
        }

где hasvalue () - это просто метод расширения, который инвертирует строку. IsNullOrEmpty ()

вы можете использовать papercut (http://papercut.codeplex.com/), чтобы протестировать его на локальном компьютере, затем использовать 127.0.0.1 в качестве ipaddress без имени smtpuser, пароля или номера порта.

/// <summary>
    /// checks if a string is null or empty (hasvalue = false if null or empty)
    /// </summary>
    /// <param name="s"></param>
    /// <returns></returns>
    public static bool HasValue(this string s)
    {
        if (string.IsNullOrEmpty(s))
        {
            return false;
        }
        return true;
    }
0 голосов
/ 27 марта 2017

Проверьте это универсальное руководство по отправке писем в .NET:

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