【surprise 】NET環境下Email的技術介紹
NET環境下Email的技術介紹
一、NET環境下幾種不同的郵件傳送解決方案
1、 WEB開發,在ASP.NET中引用System.Web.Mail類
郵件訊息是通過內建在 Microsoft Windows 2000 中的 SMTP 郵件服務或任意的 SMTP 伺服器來傳送的。System.Web.Mail 名稱空間中生成的SmtpMail類可用於在C#網路程式中傳送SMTP郵件。此名稱空間中的類可以在 ASP.NET 或任何託管應用程式。在System.Web.Mail中提供用於構造電子郵件附件的屬性和方法的類MailAttachment和用於構造電子郵件的屬性和方法的類MailMessage。
⑴ SmtpMail類
屬性:
SmtpServer 獲取或設定要用於傳送所有電子郵件的 SMTP 郵件伺服器的名稱。
方法:
Send() 傳送電子郵件。
⑵ MailMessage類
屬性:
Attachment 指定隨訊息一起傳輸的附件列表。
Bcc 獲取或設定以分號分隔的電子郵件地址列表,這些地址接收電子郵件的匿名副本 (BCC)。
Body 獲取或設定電子郵件的正文。
BodyEncoding 獲取或設定電子郵件正文的編碼型別。
BodyFormat 獲取或設定電子郵件正文的內容型別。
Cc 獲取或設定以分號分隔的電子郵件地址列表,這些地址接收電子郵件的抄送副本 (CC)。
From 獲取或設定發件人的電子郵件地址。
Headers 指定隨電子郵件一起傳輸的自定義標頭。
Priority 獲取或設定電子郵件的優先順序。
Subject 獲取或設定電子郵件的主題行。
To 獲取或設定收件人的電子郵件地址。
UrlContentBase 獲取或設定 Content-Base HTTP 標頭,即在 HTML 編碼的電子郵件正文中使用的所有相對URL 的 URL 基。
UrlContentLocation獲取或設定電子郵件的 Content-Location HTTP 標頭。
⑶ MailAttachment類
建構函式:
public MailAttachment( string filename);
filename:附件檔案的名稱。
程式碼如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.Mail;
namespace WebMail
{
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
private System.Web.Mail.MailMessage m_Mail;
private void Page_Load(object sender, System.EventArgs e)
{
m_Mail=new MailMessage();
}
#region Web Form. Designer generated code
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
'定義SMTP伺服器的名稱
m_Mail.SmtpServer = "smtp.163.com";
'定義郵件的傳送地址
m_Mail.From=" lihonggen@163.com ";;
'定義郵件的接收地址
m_Mail.To = " lihonggen0@163.com";
'定義郵件的暗送地址
'm_Mail.Bcc "aa@sina.com"
'定義郵件的抄送地址
'm_Mail.Cc = "aaa@sina.com"
'定義郵件的主題
m_Mail.Subject = "主題";
'定義郵件的主體
m_Mail.Body = "郵件主體!";
'郵件以 HTML的格式傳送
m_Mail.BodyFormat = MailFormat.Html;
'定義郵件的有限級,在此設定為高
m_Mail.Priority = MailPriority.High;
'給傳送的郵件附加上一個附件
m_Mail.Attachments.Add(New MailAttachment("c:\lihonggen.doc"));
SmtpMail.Send(m_Mail);
}
}
}
2、 在開發Windows 應用程式中使用System.Net.Sockets
也是基於SMTP協議
一、SMTP協議簡介
⑴ 客戶端通過伺服器的25埠建立TCP/IP連線
伺服器端: 220 server.com Simple Mail Transfer Service Ready
⑵ 客戶端使用“HELO”命令標識發件人
客戶端:HELO server.com
伺服器端:250 server.com
⑶ 客戶端傳送MAIL命令,伺服器端以OK作為響應表明準備接收
伺服器端: 250 OK
⑷ 客戶端傳送RCPT命令標識收件人,伺服器端回應是否願意為收件人接受郵件
客戶端:RCPT TO:
伺服器端:250 OK
⑸ 協商結束後用命令DATA傳送傳送郵件
客戶端:DATA
伺服器端:354 Start mail input: end with
⑹ 客戶端以.表示結束輸入內容一起傳送出去
客戶端:Subject:
內容
.
⑺ 客戶端用QUIT命令退出。
客戶端:QUIT
伺服器端:250 server.com closing transmission channel
優點:可以在此基礎上開發出自己的元件,利用Sockets我們可以進行網路程式設計開發
缺點:程式量相對較多,
因程式碼過長所以在此不顯示了
3、 IIS SMTP自帶的基本的發信元件CDONTS
你不必專門下載,微軟已經提供了這個元件,只要安裝了2000,NT的SMTP就會有的。
優點:元件由作業系統自帶
缺點:功能比較差,可擴充套件性不強
Mymail = CreateObject("CDONTS.NewMail")
Mymail.From = *** '信件傳送者信箱
Mymail.To = *** ‘信件接收者信箱
Mymail.CC = *** '抄送
Mymail.BCC = *** ’密件傳送
Mymail.Subject = *** ‘信件主題
Mymail.Body = *** ’信件正文
'設定優先順序,0-不重要,1-一般,2-重要。
Mymail.Importance = 2
Mymail.Send()
Mymail = Nothing
4、使用JMail元件
Jmail具有以下特點:
(1)可以傳送附件;
(2)詳細日誌能力,便於你檢視問題所在;
(3)設定郵件傳送的優先順序;
(4)支援多種格式的郵件傳送,比如說以HTML或者TXT的方式傳送郵件。這是個免費的元件。
(5)密件傳送/(CC)抄送/緊急信件傳送能力;
(6)最關鍵的就是--免費的元件,不必發錢,所以非常值得使用。
JMail元件的常用屬性:
Body 郵件正文
Logging 呼叫Log記錄,供Debug用
Priority 郵件的優先程度,從1到5
Sender 發件人
ServerAddress SMTP伺服器的IP地址或名稱
Subject 郵件標題
JMail元件的常用方法:
AddAttachment 指定附件檔案
AddRecipient 加入一個收件人
AddRecipientBCC 隱藏的副本抄送,只有發件人和BCC收件人知道。
AddRecipientCC 副本抄送
Execute 送出郵件
瞭解必要的屬性及方法後,餘下的部分接收使用者輸入的Email,當成引數傳給AddRecipient方法,然後根據需要填上其餘屬性,最後以Execute方法寄出。例如:
JMail = Server.CreateObject("JMail.SMTPMail")
JMail.Logging = True
JMail.ServerAddress = "202.96.144.48"
JMail.Sender = "lihonggen0@163.com"
JMail.Subject = "subject."
JMail.Body = "body."
JMail.AddRecipient("bbbb@163.com")
JMail.AddAttachment("c:\go.gif")
JMail.Priority = 3
JMail.Execute()
JMail = Nothing
二、NET環境下郵件接收解決方案
POP3協議是一個客戶讀取或接收儲存在遠端郵件伺服器上的郵件最常用的基本協議,一旦客戶機與伺服器建立一個連線,就傳送簡單文字命令,並且伺服器以恰當的資訊來響應。必須知道使用的命令是什麼,以什麼樣的順序發出,才能正確地從伺服器上收取信件。
注意點:在登陸伺服器時埠號應該是110
POP3的執行命令
首先手工輸入
telnet pop.163.com
1.許可權檢查命令
執行命令 |
描述 |
USER |
使用者名稱 |
PASS |
密碼 |
2.獲取資訊命令
執行命令 |
描述 |
STAT |
響應包含郵件的數量和全部郵件大小 |
LIST |
收到一份個人郵件列表,列出每封郵件的大小 |
3.檢索郵件
執行命令 |
描述 |
TOP |
它能取得郵件的報頭並且從信件中挑出文字行的數目 |
RETR |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-343239/,如需轉載,請註明出處,否則將追究法律責任。
請登入後發表評論
登入
全部評論
|
相關文章
- .NET環境下Email的技術介紹AI
- 環境搭建及介紹
- 從二層到七層交換機技術適用環境介紹(轉)
- Maven環境搭建和介紹Maven
- AJAX技術介紹
- Android環境下hanlp漢字轉拼音功能的使用介紹AndroidHanLP
- Appium 介紹與環境搭建APP
- Java/JavaWeb/開發環境介紹JavaWeb開發環境
- linux 環境變數介紹Linux變數
- JAVA環境變數配置介紹Java變數
- Python虛擬環境介紹Python
- .Net環境下的程式破解(3)
- 容災技術介紹
- JSF技術介紹JS
- .Net環境的下的程式破解(2)
- Flask框架(一):介紹與環境搭建Flask框架
- Appium 介紹及環境安裝APP
- java介紹、環境搭建與Hello,World!Java
- ReactJs環境配置簡單介紹ReactJS
- linux DISPLAY環境變數介紹Linux變數
- DKHadoop安裝的環境準備介紹Hadoop
- [Windows環境]nvm工具的介紹和安裝Windows
- linux環境下安裝mysql8.0過程介紹GMFXLinuxMySql
- 容器技術和Docker介紹Docker
- 負載均衡技術介紹負載
- 一種蜜網技術的介紹
- 探秘Kubernetes:在本地環境中玩轉容器技術
- linux或者CentOS環境下安裝.NET Core環境LinuxCentOS
- Kotlin on Android 開發環境介紹KotlinAndroid開發環境
- SequoiaDB資料庫之環境介紹資料庫
- zt .NET環境下的SNMP程式設計程式設計
- WebRTC環境搭建| 掘金技術徵文Web
- WiFi協議的調製技術介紹WiFi協議
- Docker容器技術與Docker介紹Docker
- 漏洞挖掘利器-Fuzz技術介紹
- ORACLE流複製技術介紹Oracle
- JDBC介面技術介紹1 (轉)JDBC
- JDBC介面技術介紹2 (轉)JDBC