C#发送邮件的问题 本帖最后由 cqulyk 于 2012-12-26 10:39:26 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MailMessage mms = new MailMessage(); mms.Body = "邮件内容"; mms.Subject = "邮件标题"; mms.IsBodyHtml = true; mms.Attachments.Add(new Attachment("附件路径"));//可以不写 mms.From = new MailAddress("发件人邮箱"); mms.To.Add(new MailAddress("收件人邮箱")); SmtpClient p = new SmtpClient(); p.Host = "smtp.163.com"; p.Credentials = new System.Net.NetworkCredential("发件人邮箱的用户名", "发件人邮箱的密码"); p.Send(mms); 不是你的问题,是网易的问题,换个邮箱,试一下用QQ邮箱测试一下,注意要开通SMTP。 System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();client.Host = "smtp.163.com";//使用163的SMTP服务器发送邮件client.UseDefaultCredentials = true;client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;client.Credentials = new System.Net.NetworkCredential("abc", "*******");//163的SMTP服务器需要用163邮箱的用户名和密码作认证,如果没有需要去163申请个, //这里假定你已经拥有了一个163邮箱的账户,用户名为abc,密码为*******System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();Message.From = new System.Net.Mail.MailAddress("[email protected]");//这里需要注意,163似乎有规定发信人的邮箱地址必须是163的,而且发信人的邮箱用户名必须和上面SMTP服务器认证时的用户名相同 //因为上面用的用户名abc作SMTP服务器认证,所以这里发信人的邮箱地址也应该写为[email protected]Message.To.Add("[email protected]");//将邮件发送给GmailMessage.To.Add("[email protected]");//将邮件发送给QQ邮箱Message.Subject = "测试标体";Message.Body = "测试邮件体";Message.SubjectEncoding = System.Text.Encoding.UTF8;Message.BodyEncoding = System.Text.Encoding.UTF8;Message.Priority = System.Net.Mail.MailPriority.High;Message.IsBodyHtml = true;client.Send(Message); 个人觉得还是163邮箱的问题,我以前也用163邮箱也测试过,没有成功,最后换成QQ邮箱就成功了。QQ邮箱也不是每一个都会成功的,好像很早注册的就可以了,并且要打开POP3/SMTP/IMAP,具体设置参照http://service.mail.qq.com/cgi-bin/help?subtype=1&no=166&id=28 未将对象引用设置到对象的实例 wpf wcf即时消息(急) 改了一点小bug,看我的五子棋游戏 一个流媒转换的问题?期待高手能帮解决 c#控件网站 怎么把别人程序打包,然后自己写的程序可以直接调用 JS调用CS后台方法的问题 HttpWebRequest :远程服务器返回错误: (401) 未经授权【急】 C#打包问题 打包flash 有关数据库中表的设计问题(宿舍管理系统) 在线等!!! 多对数(a,b),(x,y),(a,b)等我用什么来存储根据第一个数能方便的查找到第二个数? string类型的Trim函数
mms.Body = "邮件内容";
mms.Subject = "邮件标题";
mms.IsBodyHtml = true;
mms.Attachments.Add(new Attachment("附件路径"));//可以不写
mms.From = new MailAddress("发件人邮箱");
mms.To.Add(new MailAddress("收件人邮箱"));
SmtpClient p = new SmtpClient();
p.Host = "smtp.163.com";
p.Credentials = new System.Net.NetworkCredential("发件人邮箱的用户名", "发件人邮箱的密码");
p.Send(mms);
client.Host = "smtp.163.com";//使用163的SMTP服务器发送邮件
client.UseDefaultCredentials = true;
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential("abc", "*******");//163的SMTP服务器需要用163邮箱的用户名和密码作认证,如果没有需要去163申请个,
//这里假定你已经拥有了一个163邮箱的账户,用户名为abc,密码为*******
System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
Message.From = new System.Net.Mail.MailAddress("[email protected]");//这里需要注意,163似乎有规定发信人的邮箱地址必须是163的,而且发信人的邮箱用户名必须和上面SMTP服务器认证时的用户名相同
//因为上面用的用户名abc作SMTP服务器认证,所以这里发信人的邮箱地址也应该写为[email protected]
Message.To.Add("[email protected]");//将邮件发送给Gmail
Message.To.Add("[email protected]");//将邮件发送给QQ邮箱
Message.Subject = "测试标体";
Message.Body = "测试邮件体";
Message.SubjectEncoding = System.Text.Encoding.UTF8;
Message.BodyEncoding = System.Text.Encoding.UTF8;
Message.Priority = System.Net.Mail.MailPriority.High;
Message.IsBodyHtml = true;
client.Send(Message);
QQ邮箱也不是每一个都会成功的,好像很早注册的就可以了,并且要打开POP3/SMTP/IMAP,具体设置参照
http://service.mail.qq.com/cgi-bin/help?subtype=1&no=166&id=28