由于某种原因,我收到的Smtp在当前上下文中不存在,即使用名称空间'使用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);
答案 0 :(得分:3)
SmtpMail在较新的框架中被标记为已过时。 SmtpClient是推荐的类。也许这会导致你的问题?
编辑:您可以指向项目中的较低框架,也可以换掉该类。任何一个应该为你工作。 (http://msdn.microsoft.com/en-us/library/system.web.mail.smtpmail.aspx)
编辑:此类最后一次在.Net 1.1中得到支持它将在每个框架中发出编译器警告。
答案 1 :(得分:0)
听起来您在项目中缺少对System.Net.Mail的引用。将其添加为参考,看看是否能让您更进一步。
编辑:修复了对System.Net.Mail.SmtpClient的引用。
答案 2 :(得分:0)
在项目中添加 System.Web 的引用,以及using System.Web.Mail
,看看是否有帮助。我已经添加了这个作为对qor72答案的评论,但我还没有代表。
答案 3 :(得分:0)
对于错误1,2和3,实例化MailMessage,如下所示:MailMessage mail = new MailMessage(“发件人字符串”,“接受者字符串”);
对于错误4,请尝试使用Host属性或ServicePoint。