当前位置:  编程技术>.net/c#/asp.net

C# 邮件发送和接收实现代码

    来源: 互联网  发布时间:2014-10-14

    本文导语:  邮件发送 方法一:使用System.Web.Mail命名空间(此方法我测试没有成功过)  代码如下:#region 发送邮件:此方法失败 protected void SendFailed() { System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage(); mail.From = "test@ gmail.com"; mail.To = " te...

邮件发送
方法一:使用System.Web.Mail命名空间(此方法我测试没有成功过) 
代码如下:

#region 发送邮件:此方法失败
protected void SendFailed()
{
System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage();
mail.From = "test@ gmail.com";
mail.To = " test@ gmail.com ";
mail.Subject = "For Test";
mail.Priority = System.Web.Mail.MailPriority.Normal;
mail.BodyEncoding = Encoding.Default;
mail.BodyFormat = MailFormat.Html;
mail.Body = "this is a Email!";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "test"); //set your username here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "****"); //set your password here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", "smtp.gmail.com");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "587");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
SmtpMail.SmtpServer = "smtp.gmail.com";
SmtpMail.Send(mail);
}
#endregion

方法二:使用System.Net.Mail命名空间(此方法测试成功)
我使用的gmail的邮箱,以及他提供免费smtp服务,之前试了好几个邮箱都不成功。Gmail的smtp服务必须经过ssl加密,才可以验证成功。
代码如下:

#region 发送邮件:此方法可行
protected void SendSuccess()
{
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.From = new MailAddress("test@gmail.com", "someone");//必须是提供smtp服务的邮件服务器
message.To.Add(new MailAddress("test@yahoo.com.cn"));
message.Subject = "测试邮件" ;
message.CC.Add(new MailAddress("test@126.com"));
message.Bcc.Add(new MailAddress("test@126.com"));
message.IsBodyHtml = true;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Body = "邮件发送测试";
message.Priority = System.Net.Mail.MailPriority.High;
SmtpClient client = new SmtpClient("smtp.gmail.com", 587); // 587;//Gmail使用的端口
client.Credentials = new System.Net.NetworkCredential("test@gmail.com", "password"); //这里是申请的邮箱和密码
client.EnableSsl = true; //必须经过ssl加密
try
{
client.Send(message);
Response.Write("邮件已经成功发送到" + message.To.ToString() + "
");
}
catch (Exception ee)
{
Response.Write(ee.Message + "
" /* + ee.InnerException.Message*/ );
}
}
#endregion

邮件接收
我使用的是LumiSoft.Net这个开源的项目,也是从一个网友哪里看到的下载地址,然后自己看了下代码,写了个简单的接收方法。首先将代码中relrease目录下的dll文件引用到项目中。 
代码如下:

using LumiSoft.Net.POP3.Client;
using LumiSoft.Net.Mail;
……
public IList ReceiveMail()
{
IList mailList = new List();
using (POP3_Client client = new POP3_Client())
{
client.Connect("pop.gmail.com",995,true);
client.Authenticate("zw.seaman", "zw_seaman", false);
POP3_ClientMessageCollection coll = client.Messages;
for (int i = 0; i < coll.Count; i++)
{
POP3_ClientMessage message = coll[i];
Mail_Message mm = Mail_Message.ParseFromByte(coll[i].MessageToByte());
mailList.Add(mm);
}
}
return mailList;
}
protected void Page_Load(object sender, EventArgs e)
{
IList mailList = new ZMail.Mail().ReceiveMail();
foreach (Mail_Message mail in mailList)
{
StringBuilder sb = new StringBuilder();
sb.Append(mail.From.ToString()).Append("  发送给  ");
sb.Append(mail.To.ToString()).Append("
") ;
sb.Append(mail.Subject).Append("
");
sb.Append(mail.BodyHtmlText).Append("");
Response.Write(sb.ToString());
}
}

这两个方法很容易理解,只实现了最基本的功能,如果需要可以查看源代码获取更多信息。

    
 
 

您可能感兴趣的文章:

  • c#使用S22.Imap收剑灵激活码邮件代码示例(imap收邮件)
  • c#使用netmail发送邮件的例子
  • c#使用netmail方式发送邮件示例
  • c#调用qq邮箱smtp发送邮件(修正版)
  • c#调用qq邮箱smtp发送邮件(修改版)
  • c#使用webmail邮件系统发送邮件的代码
  • c#调用qq邮箱smtp发送邮件修改版代码分享
  • C# 打开电子邮件软件的具体方法
  • c#利用webmail邮件系统发送邮件示例分享
  • c# SendMail发送邮件实例代码
  • C#实现SMTP邮件发送程序实例
  • c# 发送邮件的实例代码
  • C#使用MailAddress类发送html格式邮件的实例代码
  • c#异步发送邮件的类实例代码
  • c#利用system.net发送html格式邮件
  • c#异步发送邮件的类
  • c#实现服务器性能监控并发送邮件保存日志
  • postfix 在内网可以正常接收与发送邮件,但向局外,不能接收与发送
  • Linux 邮件服务器一个账户能够接收到所有的邮件问题?
  • 如何用mail命令接收邮件附件?
  • linux 如何接收发送邮件?
  • 怎么使用outlook一类的客户端接收远程linux的系统邮件
  • 邮件接收客户端 mpop
  • postfix接收邮件 iis7站长之家
  • 电子邮件附件直接接收到客户机上?
  • postfix接收邮件
  • sendmail配置好了,发送、接收都没有报错,问题是邮件不知道飞到哪里去了???
  • C语言邮件接收库 libmail
  • Linux下的Qmail、Sendmail是怎样来判断邮件发送和接收。
  • 有知道RFC中关于邮件接收的协议吗???急急急急!
  • 关于sendmail接收两个完全不同域名邮件的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎么用sendmail发送纯文本邮件,无论中英文都可显示,但如改用发送html格式的邮件,即message.setContent("Hello,this is content,后面
  • 当邮件服务器设置了身份验证时,邮件发送程序返回 SMTP 550 错误时怎么解决?
  • 我用Javamail给对方发送邮件,如何判断对方是否已经收到邮件?
  • 我的linux sendmail邮件服务器的/var/spool/mqueue有很多文件,应该怎样清除没有发送出去的过时邮件呢
  • 高分请教,电子邮件的发送时间问题
  • sendmail有限制发送某封连续邮件吗?
  • PHP邮件发送类 SMTP client class
  • 发送邮件的时候,DATA返回502,
  • 高分求解:利用JavaMail发送邮件时,能否做到不通过SMTP邮件服务器转交,直接将邮件发到对方邮箱中.
  • PHP邮件发送包 PHPMailer
  • 关于给本地所有用户发送邮件的问题
  • LINUX下如何发送邮件
  • 如何在shell脚本中自动发送邮件
  • linux中邮件发送后是否会保存在服务器中
  • php 邮件发送问题解决
  • jsp发送邮件的问题
  • 命令行SMTP邮件发送工具 blat
  • PHP发送邮件函数库 Swift Mailer
  • PHP邮件发送包 SwiftMailer
  • mutt 发送html邮件
  • 在LINUX环境下,怎样限定SendMail邮件服务器中邮件用户使用邮件空间的大小。。。。。。
  • 请问如何知道邮件中的邮件哪个是新邮件,我是用POP3协议。请各位大虾指点一下。
  • 用Linux发的邮件被当成垃圾邮件
  • 两个邮件服务器之间是怎么转发邮件的呢
  • 两个局域网中,postfix邮件服务器能不能相互发邮件?
  • 如何实现linux邮件服务器上邮件的备份?
  • 如何取得一封邮件区别与其他邮件的ID
  • 如何得到一个邮件服务器上的某個人邮件?
  • 对于邮件服务器更换中,2台邮件服务器同时运行,有何策略?公司实例
  • 有没高手能答这个问题:为何PostFix邮件队列中有邮件但总送不出去?
  • ▇▇▇▇问,如何取得某个邮件服务器中的某个用户的邮件?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3