c#郵箱發送和接收


簡潔版發送:

//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();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM