вызов с рассылкой в виде asp.net

1

Я сделал эту форму и этот код С# для отправки по почте (свяжитесь с нами). Эта ошибка

Для SMTP-сервера требуется безопасное соединение, или клиент не прошел аутентификацию. Ответ сервера: 5.7.0. Сначала необходимо выполнить команду STARTTLS. m2sm37748843wjf.42 - gsmtp

и это мой код

protected void Page_Load(object sender, EventArgs e)
{
    lblError.Visible = false;
}

protected void Button1_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        try
        {
            string strbody = string.Empty;
            strbody += string.Format("<b>Name </b> :{0} <br /> ", TextboxName.Text);
            strbody += string.Format("<b>E-Mail</b>: <a href='mailto:{0}'>{0}</a><br />", textboxemail.Text);
            strbody += string.Format("<b> Subject</b> :{0} <br />", textboxwebsite.Text);
            strbody += string.Format("<b>Description</b>: {0}<br />",                           textboxmessage.Text.Replace("\n", "<br />"));

            System.Net.Mail.MailMessage oMailMessage = new                           System.Net.Mail.MailMessage();
            System.Net.Mail.MailAddress oMailAddress = null;
            oMailAddress = new System.Net.Mail.MailAddress
                (
                    "[email protected]",
                    "Sent By salar zardouz website",
                    System.Text.Encoding.UTF8
                );
            oMailMessage.From = oMailAddress;
            oMailMessage.Sender = oMailAddress;
            oMailMessage.To.Clear();
            oMailMessage.CC.Clear();
            oMailMessage.Bcc.Clear();
            oMailMessage.ReplyToList.Clear();
            oMailMessage.Attachments.Clear();
            oMailMessage.ReplyToList.Add(oMailAddress);
            oMailMessage.Bcc.Add("[email protected]");
            oMailAddress = new System.Net.Mail.MailAddress
                (
                    textboxemail.Text,
                    textboxmessage.Text,
                    System.Text.Encoding.UTF8
                );
            oMailMessage.To.Add(oMailAddress);

            oMailMessage.BodyEncoding = System.Text.Encoding.UTF8;
            oMailMessage.Body = strbody;

            oMailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
            oMailMessage.Subject = "[-<Company Name>-] - " + textboxwebsite.Text;

            oMailMessage.IsBodyHtml = true;

            oMailMessage.Priority = System.Net.Mail.MailPriority.Normal;

            oMailMessage.DeliveryNotificationOptions =
                System.Net.Mail.DeliveryNotificationOptions.OnSuccess ;
            string strRootRelativePathName = "~/Attachments/Attachment.png";
            string strPathName = Server.MapPath(strRootRelativePathName);

            if (System.IO.File.Exists(strPathName))
            {
                System.Net.Mail.Attachment oAttachment =
                    new System.Net.Mail.Attachment(strPathName);

                oMailMessage.Attachments.Add(oAttachment);
            }
            System.Net.Mail.SmtpClient oSmtpClient =
                new System.Net.Mail.SmtpClient();
            oSmtpClient.Timeout = 100000;
            oSmtpClient.EnableSsl = false;
            oSmtpClient.Send(oMailMessage);

            string strInformationMessage =
                "Your Email Has been successfully sent";
            lblError.Visible = true;
            lblError.Text = strInformationMessage;
        }
        catch (System.Exception ex)
        {
            DisplayErrorMessage(ex.Message);
        }
    }
}
protected virtual void DisplayErrorMessage(string message)
{
    lblError.Visible = true;

    lblError.Text =
        string.Format("<div class='error'>{0}</div>", message);
}
Теги:
email

1 ответ

0
Лучший ответ

Вы проверили свойства почтового сервера? Возможно, вам нужна аутентификация SSL.

Например, на gmail вы должны пройти аутентификацию:

smtp1.Host = "smtp.gmail.com"
        smtp1.Credentials = New System.Net.NetworkCredential("[email protected]", "xxxxxxx")
        smtp1.Port = 587
        smtp1.EnableSsl = True
        smtp1.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network

        smtp1.Send(correo1)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню