使用.net发送Email总结

来源:互联网 发布:快乐赚幸运28源码 编辑:程序博客网 时间:2024/06/05 04:16

 

总结:使用.net发送Email方法

在此非常感谢http://blog.csdn.net/zhoufoxcn

.net1.0 .net21.1中的方法:

在此引用using System.Web.Mail;vs2008中需要自己添加引用

MailMessage objMailMessage;

objMailMessage = new MailMessage();

objMailMessage.From = "bmj_apple@sina.com";//源邮件地址

objMailMessage.To = "bai.mingjiang@gmail.com";//目的邮件地址,也就是发给我哈

objMailMessage.Subject = "邮件发送标题:你好";//发送邮件的标题

objMailMessage.Body = "邮件发送标内容:测试一下是否发送成功!将附件附加到邮件消息对象中";//发送邮件的内容

//objMailMessage.Attachments.Add(附件);//将附件附加到邮件消息对象中

//基本权限

objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");

//用户名

objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","bmj_apple");

//密码

objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","*****密码****");

 

//SMTP地址,也可换其他的服务器,但有些邮件不提供smtp服务,比如163

SmtpMail.SmtpServer = "smtp.sina.com.cn";

//开始发送邮件

try

{

     SmtpMail.Send(objMailMessage);

     MessageBox.Show("Sended!");

}

catch (FormatException ex)

{

      MessageBox.Show(ex.Message);

}

 

第二种方法,就是在.net2.0及以后版本中提供了SmtpClient对象,使用起来比较方便,需要引入using System.Net.Mail;

try

{

      stringfrom = "496775119@qq.com";

      stringto = "bai.mingjiang@gmail.com";

      stringsubject = "邮件发送标题:你好";

      stringbody = "邮件发送标内容:测试一下是否发送成功!将附件附加到邮件消息对象中";

      stringmailServerName = "smtp.qq.com";    //新浪的是smtp.sina.com

 

     using (MailMessage message = newMailMessage(from, to, subject, body))

{

SmtpClient mailClient = new SmtpClient(mailServerName);

          mailClient.Port = 25;

          mailClient.UseDefaultCredentials = false;

          mailClient.Credentials = new NetworkCredential("496775119@qq.com","**密码^_^**");

//添加验证信息,用户名及密码,这里说明下,有的邮箱用户名是@前半部分的,有的是全的

          mailClient.Send(message);

}

         MessageBox.Show("Send!");

}

catch (FormatException ex)

{

         MessageBox.Show(ex.Message + "2");

}

catch (SmtpException ex)

{

         MessageBox.Show(ex.Message+ "1");

}

 

遇到的几种问题:

1.      没有考虑到那些邮箱服务是否提供smtp服务,比如使用163,据说是163的邮箱有个政策,几月份之后的邮箱是不能用smtp的,这时抛出这样的信息:

服务器响应为: ó㻧±»ëø¶¨

 

2.      我使用的发送邮箱没有设置开通smtp服务,费了好大劲,这时抛出的异常是:

SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: Authentication required

 

3.      smtp端口的问题,一般默认的都一样,可是gmail则不是的,具体的还没查清楚

原创粉丝点击