Имя Smtp не существует в текущем контексте - PullRequest
1 голос
/ 17 марта 2011

По какой-то причине я получаю Smtp не существует в текущем контексте, я использую пространство имен 'using System.Net.Mail;'.Я понятия не имею, почему и попытался использовать System.Web.mail ;.Надеюсь, что вы можете помочь.

        MailMessage mail = new MailMessage();
                SmtpClient SmtpMail = new SmtpClient();

                SmtpMail.Credentials = new System.Net.NetworkCredential("username", "password");
                mail.From = "";  //Error    1   Cannot implicitly convert type 'string' to 'System.Net.Mail.MailAddress'    

                mail.To = "";   // Error    2   Property or indexer 'System.Net.Mail.MailMessage.To' cannot be assigned to -- it is read only   
                                // Error    3   Cannot implicitly convert type 'string' to 'System.Net.Mail.MailAddressCollection'  


                mail.Subject = "password";         
                mail.Body = "test";           
                SmtpMail.SmtpServer = "smtp.brad.ac.uk"; // Error   4   'System.Net.Mail.SmtpClient' does not contain a definition for 'SmtpServer' and no extension method 'SmtpServer' accepting a first argument of type 'System.Net.Mail.SmtpClient' could be found (are you missing a using directive or an assembly reference?)   

                SmtpMail.Send(mail);

Ответы [ 4 ]

3 голосов
/ 17 марта 2011

SmtpMail помечен как устаревший в новых платформах. SmtpClient является рекомендуемым классом. Может быть, это вызывает вашу проблему?

РЕДАКТИРОВАТЬ: вы можете указать на более низкую структуру в вашем проекте, или поменять класс. Либо надо работать на тебя. (http://msdn.microsoft.com/en-us/library/system.web.mail.smtpmail.aspx)

РЕДАКТИРОВАТЬ: последний класс был поддержан в .Net 1.1. После этого он будет предупреждать компилятор в каждой среде

0 голосов
/ 17 марта 2011

Для ошибок 1,2 и 3 создайте экземпляр MailMessage следующим образом: MailMessage mail = new MailMessage («строка отправителя», «строка получателя»);

Для ошибки 4 попробуйте использовать узелсвойство или ServicePoint вместо.

0 голосов
/ 17 марта 2011

Добавьте ссылку на System.Web в ваш проект, а также using System.Web.Mail и посмотрите, поможет ли это.Я бы добавил это как комментарий к ответу qor72, но у меня пока нет представителя.

0 голосов
/ 17 марта 2011

Звучит так, будто в вашем проекте отсутствует ссылка на System.Net.Mail. Добавьте его в качестве ссылки и посмотрите, поможет ли это вам.

РЕДАКТИРОВАТЬ: Исправлена ​​ссылка для доступа к System.Net.Mail.SmtpClient.

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