ASP.NET用QQ,网易发送邮件以及添加附件

教程:ASP.NET用QQ,网易发送邮件以及添加附件

这是我用QQ邮箱出现的异常:

 

命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !
无法从传输连接中读取数据: net_io_connectionclosed

 

解决方法:

首先去邮箱设置一下内容:

1.开启SMTP,

2.申请授权码.(授权码作为QQ邮箱登陆密码使用.)

 

QQ邮箱帮助中心:(可查询到QQ邮箱使用SMTP的端口,服务器地址和如何设置SSL以及客户端配置)

http://service.mail.qq.com/

 

如果这些已经弄好了,应是代码有问题.请参考C#代码部分.

 

QQ邮箱代码:

 

注意:用户名不加后缀"@qq.com",密码使用生成的授权码,SSL设置为true

方法一:

(环境:vs2015 mvc , 已测试成功)

 WebMail.SmtpServer = "smtp.qq.com";
            WebMail.SmtpPort = 587;
            WebMail.EnableSsl = true;
            WebMail.UserName = "8448xx4";
            WebMail.Password = "ujalggwrqpvdbghi";
            WebMail.From = "8448xx4@qq.com";//获取或设置发件人的电子邮件地址

            WebMail.Send( to, subject,content");
            //该方法有许多重载可参考msdn library
            //to 1:该收件人的电子邮件地址。
            //subject2:邮件标题
            //content3.正文

方法二

       string txtFullPath = HttpContext.Current.Server.MapPath("~/")+@"show/XX合约.txt";
        //创建一个附件对象
        Attachment objMailAttachment = new Attachment(txtFullPath);
        //创建邮件消息
        MailMessage objMailMessage = new MailMessage();
        objMailMessage.From = new MailAddress("8448xx4@qq.com");
        //源邮件地址 收件人
        objMailMessage.To.Add(usermail);
        objMailMessage.Subject = "活动通知!";//发送邮件的标题
        //将附件附加到邮件消息对象中
        objMailMessage.Attachments.Add(objMailAttachment);
        //正文
        objMailMessage.Body = "请在2016在六号楼.."; 
        //objMailMessage.IsBodyHtml = true;
        SmtpClient SmptpMail = new SmtpClient();
        //设置发件箱的SMTP服务器
        SmptpMail.Host = "smtp.qq.com";
	//SSL设置为true  
	SmptpMail.EnableSsl = true;
        //SMTP使用的端口
        SmptpMail.Port = 465;
        //QQ用户名,和授权码
        SmptpMail.Credentials = new NetworkCredential("8448xx4", "gsdahhe!");
        SmptpMail.Send(objMailMessage);

  

网易邮箱:(已经测试成功, ps.我网易邮箱好像没有设置过STMAP和授权码,似乎账号,密码可以直接用)

string txtFullPath = HttpContext.Current.Server.MapPath("~/")+@"show/XXX合约.txt";
        //创建一个附件对象
        Attachment objMailAttachment = new Attachment(txtFullPath);
        //创建邮件消息
        MailMessage objMailMessage = new MailMessage();
        objMailMessage.From = new MailAddress("198489xx@163.com");
        //源邮件地址
        objMailMessage.To.Add(usermail);//收件人
        objMailMessage.Subject = "活动通知!";//发送邮件的标题
        //将附件附加到邮件消息对象中
        objMailMessage.Attachments.Add(objMailAttachment);
       //正文
        objMailMessage.Body = body; //
      //  objMailMessage.IsBodyHtml = true;
        SmtpClient SmptpMail = new SmtpClient();
        //设置发件箱的SMTP服务器
        SmptpMail.Host = "smtp.163.com";
        //SMTP使用的端口
        SmptpMail.Port = 25;
        //用户名密码
        SmptpMail.Credentials = new NetworkCredential("198489xx@163.com","454646546sdsg");
        SmptpMail.Send(objMailMessage);

  

posted @ 2016-05-13 17:33  TechMoeTiger  阅读(2427)  评论(2编辑  收藏  举报