博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接收发送邮件
阅读量:7086 次
发布时间:2019-06-28

本文共 2021 字,大约阅读时间需要 6 分钟。

一、邮件发送:.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();
    }
}
 

转载于:https://www.cnblogs.com/cf924823/p/5150932.html

你可能感兴趣的文章
shared_ptr源码分析
查看>>
AOJ 2164 Revenge of the Round Table 题解《挑战程序设计竞赛》
查看>>
What's new in JSF 2.2
查看>>
eclipse 一直buildingWorkSpace 卡死解决
查看>>
Hyper-V导入Ubuntu虚拟机后发现网卡eth0丢失的解决办法
查看>>
Web server和php结合的三种模式
查看>>
Linux中的LDAP认证
查看>>
数组竟然可以这样定义
查看>>
Hyperledger Fabric 链码(智能合约)基本操作
查看>>
再学 GDI+[77]: 区域(6) - GetRegionScans - 获取区域中的所有矩形
查看>>
学习 TList 类的实现[7]
查看>>
配置Hyper-V Server 资源计量
查看>>
创建 GUID
查看>>
String
查看>>
Linux命令总结1
查看>>
多年iOS开发经验总结(二)
查看>>
clojure 宏写宏
查看>>
iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享...
查看>>
phpcms实现微信登陆(无需注册,直接存入)
查看>>
Spark Shuffle之Hash Shuffle
查看>>