zoukankan      html  css  js  c++  java
  • 发送接收邮件<转>

    一、邮件发送:.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();
        }
    }
  • 相关阅读:
    linux 命令——19 find (转)
    linux 命令——18 locate (转)
    linux 命令——17 whereis(转)
    linux 命令——16 which(转)
    linux 命令——15 tail (转)
    linux 命令——14 head (转)
    Java for LeetCode 038 Count and Say
    Java for LeetCode 037 Sudoku Solver
    Java for LeetCode 036 Valid Sudoku
    Java for LeetCode 035 Search Insert Position
  • 原文地址:https://www.cnblogs.com/mn-b/p/5156592.html
Copyright © 2011-2022 走看看