简洁版发送:

//web.config ---文件

<?xml version="1.0" encoding="utf-8"?>

<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->

<configuration>
<appSettings>
<add key="email" value="15054590260@163.com"/>
<add key="password" value="1c2s1/2h"/>

</appSettings>
<system.web>
<compilation debug="false" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>

</configuration>

//Defult.aspx  ---文件

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
邮件发送<br />
<br />
接收人:<asp:TextBox ID="tetTo" runat="server" Width="348px"></asp:TextBox>
<br />
<br />
邮件标题:<asp:TextBox ID="tetSubject" runat="server" Width="330px"></asp:TextBox>
<br />
<br />
邮件内容:<br />
<asp:TextBox ID="tetBody" runat="server" Height="164px" Width="408px"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="发送" OnClick="Button1_Click" />
</form>
</body>
</html>


//Defult.aspx.cs ---文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
//发送邮件
SmtpClient smtp = new SmtpClient("smtp.163.com");
//设置邮件类型(1.发送者 2.接受者 3.邮件体 4.登录信息)
//1.
string address = System.Configuration.ConfigurationManager.AppSettings["email"].ToString();
MailAddress from = new MailAddress(address); //2.
MailAddress to = new MailAddress(tetTo.Text); //3.
MailMessage mail = new MailMessage(from,to);
mail.Subject = tetSubject.Text;
mail.Body = tetBody.Text;
//4.
string pwd = System.Configuration.ConfigurationManager.AppSettings["password"].ToString();
NetworkCredential cred = new NetworkCredential(address,pwd);
smtp.Credentials = cred; smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
//发送
smtp.Send(mail);
}
}

二、完全版发送接收:(在这个方法中需要用到OpenPop.dll文件 链接:http://pan.baidu.com/s/1bnwjWJH)

//default.aspx   ---文件

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
<ItemTemplate>
<li>
<a href="Details.aspx?id=<%# Eval("NO") %>">
<%# Eval("Subject") %>
<%--<%# ((DateTime)Eval("Date")).ToString("yyyy年MM月dd日hh时mm分ss秒") %>--%>
<% Eval("Date","{0:yyyy年MM月dd日hh时mm分ss秒}") %>
<%# Eval("FromSender") %>(<%# Eval("FromAddress") %>)
</a>
</li>
</ItemTemplate>
</asp:Repeater>

</div>
</form>
</body>
</html>

//default.aspx.cs  ---文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using OpenPop.Pop3;
using OpenPop.Mime;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<MailItem> list = new List<MailItem>();

//实例化pop3访问对象
Pop3Client pop3 = new Pop3Client();
//链接到邮件服务器
pop3.Connect("pop3.sina.com",110,false);
//身份验证
pop3.Authenticate("z1n10527@sina.com","abcde12345");

//读邮件列表
//1.获取邮件的个数
int count = pop3.GetMessageCount();
//2.遍历显示出来
for (int i = 1; i <= count; i++)
{
Message msg = pop3.GetMessage(i);
MailItem data = new MailItem();
data.NO = i;
data.FromAddress = msg.Headers.From.Address;//发送者的邮箱地址
data.FromSender = msg.Headers.From.DisplayName;//发送者的名子
data.Date = msg.Headers.DateSent;//邮件的发送时间
data.Subject = msg.Headers.Subject;//邮件的主题
data.Body = msg.MessagePart.GetBodyAsText();
list.Add(data);
}
//断开链接
pop3.Disconnect();

//绑定显示
Repeater1.DataSource = list;
Repeater1.DataBind();
}
}

public class MailItem
{
public int NO { get; set; }
public string FromSender { get; set; }
public string FromAddress { get; set; }
public DateTime Date { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
}

//details.aspx   ---文件

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Details.aspx.cs" Inherits="Details" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>

标题:<asp:Label ID="lblSubject" runat="server" Text="Label"></asp:Label>
<br />
发送者:<asp:Label ID="lblSender" runat="server" Text="Label"></asp:Label>
<br />
时间:<asp:Label ID="lblDate" runat="server" Text="Label"></asp:Label>
<br />
内容:<br />
<asp:Label ID="lblBody" runat="server" Text="Label"></asp:Label>
<br />

</div>
</form>
</body>
</html>


//details.aspx.cs  ---文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using OpenPop.Pop3;
using OpenPop.Mime;
public partial class Details : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request["id"] != null)
{
//获取邮件代号
int no = Convert.ToInt32(Request["id"]);
//根据邮件代号查找邮件
Pop3Client pop3 = new Pop3Client();
pop3.Connect("pop3.sina.com",110,false);
pop3.Authenticate("z1n10527@sina.com","abcde12345");
Message msg =pop3.GetMessage(no);
//显示
lblSubject.Text = msg.Headers.Subject;
lblSender.Text = msg.Headers.From.DisplayName + msg.Headers.From.Address;
lblDate.Text = msg.Headers.DateSent.ToString();
lblBody.Text = msg.MessagePart.GetBodyAsText();
//断开链接
pop3.Disconnect();
}
}
}

  


一、邮件发送:.NET中自带SMTP邮件发送的类——SmtpClient

第一步:导入命名空间:

using System.Net.Mail;
using System.Net;

第二步:编写邮件发送代码:

//1.实例化发邮件的类
SmtpClient smtp = new SmtpClient("smtp.sina.com");

//2.构建邮件对象。邮件对象常见的一般包括:发送邮箱,接收邮箱,标题,内容四大部分

MailAddress from = new MailAddress("z1n10527@sina.com"); //发送者的邮箱地址
MailAddress to = new MailAddress("z1n10426@sina.com"); //接收者的邮箱地址
MailMessage mail = new MailMessage(from, to); //实例化邮件对象
mail.Subject = txtSubject.Text; //邮件的标题
mail.Body = txtBody.Text;  //邮件的内容

//3.设置邮箱登录验证凭据

NetworkCredential cred = new NetworkCredential("发送者的邮箱用户名","发送者的邮箱密码"); //创建凭据对象
smtp.Credentials = cred; //把凭据对象赋给邮件发送类

//4.发送

smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(mail);

二、邮件接收:.NET中没有POP3邮件接收的类,邮件的内容和格式比复杂,手动写代码进行解析很麻烦,也容易出错,开发中我们可以借助第三方插件来实现。

OpenPOP.NET插件的地址:http://sourceforge.net/projects/hpop/

第一步:添加引用:OpenPop.dll

第二步:导入命名空间:

using OpenPop.Pop3;
using OpenPop.Mime;

第三步:编写邮件实体类:

public class MailItem
{
public int NO { get; set; }
public string FromSender { get; set; }
public string FromAddress { get; set; }
public DateTime Date { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
}

第四步:编写邮件读取代码

protected void Page_Load(object sender, EventArgs e)
{
List<MailItem> list = new List<MailItem>(); //实例化pop3访问对象
Pop3Client pop3 = new Pop3Client();
//链接到邮件服务器
pop3.Connect("pop3.sina.com",110,false);
//身份验证
pop3.Authenticate("z1n10527@sina.com","abcde12345"); //读邮件列表
//1.获取邮件的个数
int count = pop3.GetMessageCount();
//2.遍历显示出来
for (int i = 1; i <= count; i++)
{
Message msg = pop3.GetMessage(i);
MailItem data = new MailItem();
data.NO = i;
data.FromAddress = msg.Headers.From.Address;//发送者的邮箱地址
data.FromSender = msg.Headers.From.DisplayName;//发送者的名子
data.Date = msg.Headers.DateSent;//邮件的发送时间
data.Subject = msg.Headers.Subject;//邮件的主题
data.Body = msg.MessagePart.GetBodyAsText();
list.Add(data);
}
//断开链接
pop3.Disconnect(); //绑定显示
Repeater1.DataSource = list;
Repeater1.DataBind();
}
}

c#邮箱发送和接收的更多相关文章

  1. Java邮件发送与接收原理

    一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu ...

  2. (转载)JavaWeb学习总结(五十一)——邮件的发送与接收原理

    博客源地址:http://www.cnblogs.com/xdp-gacl/p/4209586.html 一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电 ...

  3. JavaWeb学习总结(五十一)——邮件的发送与接收原理

    一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu ...

  4. java邮件发送 qq与163邮箱互发和qq和163邮箱发送其他邮箱实例

    研究了近一天的时间,通过查阅相关资料,终于对java发送邮件的机制,原理有了一点点的理解,希望能够帮到大家! 1.首先要向你的项目里导入1个jar包:mail-1.4.4.jar即可(实现qq和163 ...

  5. 使用JavaMail发送和接收电子邮件

    一. 为什么要学习JavaMail 为什么要学习JavaMail开发? 如今非常多WEB应用在开发时都须要集成邮件发送功能.比如: 1. 给新注冊的用户自己主动发送一封包括其注冊信息的欢迎E-Mail ...

  6. spring 实现邮箱发送

    使用spring mail 实现的邮箱发送功能,包括附件的发送(附件发送要保证附件存在的路径是真实),使用maven集成jar包,通过spring mvc 实现前后台的调用,发送方使用的是163邮箱, ...

  7. JavaMail发送和接收邮件API(详解)

    一.JavaMail概述: JavaMail是由Sun定义的一套收发电子邮件的API,不同的厂商可以提供自己的实现类.但它并没有包含在JDK中,而是作为JavaEE的一部分. 厂商所提供的JavaMa ...

  8. SMTP协议及POP3协议-邮件发送和接收原理(转)

    本文转自https://blog.csdn.net/qq_15646957/article/details/52544099 感谢作者 一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 ...

  9. JavaMail发送和接收邮件

    一.JavaMail概述:        JavaMail是由Sun定义的一套收发电子邮件的API,不同的厂商可以提供自己的实现类.但它并没有包含在JDK中,而是作为JavaEE的一部分. 厂商所提供 ...

随机推荐

  1. chrome 优秀的插件推荐

    就本人使用过的chrome插件推荐下: 1:Adblock Plus 免费的广告拦截器,可阻止所有烦人的广告及恶意软件和跟踪. 2:ChaZD 英文翻译,妈妈再也不用担心我英文看不懂了,ChaZD 查 ...

  2. JAVA6开发WebService (一)

    转载自http://wuhongyu.iteye.com/blog/807470 WebService是SOA的一种较好的实现方式,它将应用程序的不同功能单元通过中立的契约(独立于硬件平台.操作系统和 ...

  3. Java中数据库连接池原理机制的详细讲解以及项目连接数据库采用JDBC常用的几种连接方式

    连接池的基本工作原理 1.基本概念及原理 由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理.我们知道,对于共享资源,有一个很著名的设计模式:资源池(Resource Pool).该模式 ...

  4. 累积进度图及本周PSP饼状图

    每周进度   项目:词频统计  项目类型:个人项目 项目完成情况:已完成 C类别 C内容 S开始时间 E结束时间 I间隔 T净时间 分析 需求,设计 10:00 10:49 20 29 编码 代码的实 ...

  5. Java关键字final、static使用总结

    Java关键字final.static使用总结   一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...

  6. php的乱码问题

    $content=file_get_contents("http://www.ctsdc.com/");$pattern="/<a\s+href=.*<\/a ...

  7. dedecms 使用

    初看dedecms的后台界面就是一头雾水.不懂的词语多,什么模型,什么栏目,什么频道,不懂.相比于wordpress的分类category,标签tag,文章post,页面page而言,织梦后台难懂. ...

  8. 正则基础之——捕获组(capture group)

    1        概述 1.1     什么是捕获组 捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或显式命名的组里,方便后面引用.当然,这种引用既可以是在正则表达式内部,也可以是 ...

  9. Maven应用

    Maven进行项目管理很方便,下面介绍一下学习maven中的笔记.我是在Windows上运行的          有些知识点没有试,只是收集转载,很可能存在错误 1.安装 解压缩之后,配置环境变量MA ...

  10. 利用vs2013简单初探Python

    最近无聊,某天无意在vs2013上发现了Python...... Python介绍:可以自己搜索一下. 接下来,准备工具: Win7搭建开发环境.需要准备Python.PTVS2013. 1.http ...