?? sendmail.cs
字號:
using System;
using System.Net.Sockets;//用于處理網絡連接
using System.IO; //用于處理附件的包
using System.Text;//用于處理文本編碼
namespace QSendMail
{
/// <summary>
/// SendMail 的摘要說明。
/// </summary>
public class SendMail
{
public SendMail()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
/// <summary>
/// SMTP服務器域名
/// </summary>
private String server;//SMTP服務器域名
private String subject;//主題
private String body;//文本內容
private String from;//發件人地址
private String to;//收件人地址
private String errMsg;
public string MAILserver
{
get
{
return this.server;
}
set
{
this.server=value;
}
}
/// <summary>
/// 主題
/// </summary>
public string MAILsubject
{
get
{
return this.subject;
}
set
{
this.subject=value;
}
}
/// <summary>
/// 文本內容
/// </summary>
public string MAILbody
{
get
{
return this.body;
}
set
{
this.body=value;
}
}
/// <summary>
/// 發件人地址
/// </summary>
public string MAILfrom
{
get
{
return this.from;
}
set
{
this.from=value;
}
}
/// <summary>
/// 收件人地址
/// </summary>
public string MAILto
{
get
{
return this.to;
}
set
{
this.to=value;
}
}
public bool Send()
{
string Data;
byte[] szData;
string CRLF = "\r\n";
//與郵件服務器建立連接
TcpClient SmtpServ = new TcpClient(server,25);
if(SmtpServ==null)
return false;
NetworkStream NetStrm = SmtpServ.GetStream();
StreamReader RdStrm= new StreamReader(SmtpServ.GetStream());
if(RdStrm==null)
return false;
errMsg=RdStrm.ReadLine();
//開始與郵件服務器會話
Data = "HELO "+from + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
errMsg=RdStrm.ReadLine();
//告訴郵件服務器發件人的地址
Data = "MAIL FROM: " + "<" + from + ">" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
errMsg=RdStrm.ReadLine();
//告訴郵件服務器收件人的地址
Data = "RCPT TO: " + "<" + to + ">" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
errMsg=RdStrm.ReadLine();
//開始發送數據
Data = "DATA " + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
errMsg=RdStrm.ReadLine();
//發送主題
Data = "SUBJECT: " + subject + CRLF ;
Data = "X-mailer: Foxmail 4.2 [cn]"+CRLF ;
Data = "Mime-Version: 1.0"+CRLF ;
Data = "Content-Type: text/plain"+CRLF ;
Data = "charset: GB2312"+CRLF ;
Data = "Content-Transfer-Encoding: quoted-printable"+CRLF ;
Data = "Date: "+DateTime.Now+CRLF ;
//發送內容
Data = Data+ body + CRLF ;
//結束發送
Data = Data+ "." + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
errMsg=RdStrm.ReadLine();
//與郵件服務器斷開連接
Data = "QUIT " + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
errMsg=RdStrm.ReadLine();
//關閉連接
NetStrm.Close();
RdStrm.Close();
errMsg="發送成功";
return true;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -