Ссылка на объект требуется для нестатического поля, метода или свойства 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);
}