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

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

 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("Sender@gmail.com");
        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("Sender@gmail.com", "Pass");
        client.UseDefaultCredentials = false;
        SmtpClient.EnableSsl = true;

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("Sender@gmail.com");
    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("Sender@gmail.com", "Pass");        
    client.EnableSsl = true;
    client.Send(message);
 }
Другие вопросы по тегам