Ссылка на объект требуется для нестатического поля, метода или свойства System.Net.Mail.SmtpClient.EnableSsl.get

1

Может ли кто-нибудь помочь мне с исправлением этой ошибки? Я в основном пытаюсь сделать личный почтовый клиент более знакомым с языком, но я не могу понять, как решить проблему. Вот код.

 private void fusionButton1_Click(object sender, EventArgs e)
    {
        String One = textBox1.Text;
        String Two = textBox2.Text;
        String Three = textBox3.Text;
        String Four = textBox4.Text;
        MailMessage message = new MailMessage();
        message.From = new MailAddress("[email protected]");
        message.To.Add(new MailAddress(String.Copy(Four)));
        message.Subject = String.Copy(Three);
        message.Body = String.Copy(One); String.Copy(Two);

        SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
        client.Send(message);
        NetworkCredential netCre = new NetworkCredential("[email protected]", "Pass");
        client.UseDefaultCredentials = false;
        SmtpClient.EnableSsl = true;
Теги:
smtp
smtpclient

1 ответ

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

Используйте эту строку:

client.EnableSsl = true;

вместо этого:

SmtpClient.EnableSsl = true;

Вы ссылаетесь на нестатические свойства EnableSsl как статические.

ПРИМЕЧАНИЕ.

Вам не нужно использовать String.Copy:

message.Subject = String.Copy(Three);

Вы можете напрямую использовать это:

message.Subject = textBox3.Text; 
message.Body = textBox1.Text + " " + textBox2.Text;

Попробуйте этот код:

private void fusionButton1_Click(object sender, EventArgs e)
{       
    MailMessage message = new MailMessage();
    message.From = new MailAddress("[email protected]");
    message.To.Add(new MailAddress(textBox4.Text));
    message.Subject =  textBox3.Text;
    message.Body =  textBox1.Text + " " + textBox2.Text; 

    SmtpClient client = new SmtpClient("smtp.gmail.com", 587);       
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.UseDefaultCredentials = false;
    client.Credentials = new NetworkCredential("[email protected]", "Pass");        
    client.EnableSsl = true;
    client.Send(message);
 }
  • 0
    Это сработало, но теперь говорится «Необработанное исключение типа« System.Net.Mail.SmtpException »произошло в System.dll. Дополнительная информация: SMTP-сервер требует безопасного соединения или клиент не прошел проверку подлинности. Ответ сервера был: 5.7 .0 Сначала нужно выполнить команду STARTTLS. F65sm3327693yhp.14 - gsmtp "Есть идеи по этому поводу?
  • 0
    Спасибо за помощь. Это работает сейчас. Я собираюсь рассмотреть это и посмотреть, могу ли я сказать, где я испортил и где это исправило. Спасибо за всю твою помощь.
Показать ещё 1 комментарий

Ещё вопросы

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