📄 mail.cs
字号:
data.MakeInParam("@Username", SqlDbType.NVarChar, 50, username),
data.MakeInParam("@Title", SqlDbType.NVarChar , 30, title),
data.MakeInParam("@Email", SqlDbType.NVarChar , 200, email),
data.MakeInParam("@SmtpAuth", SqlDbType.Bit, 1, smtpauth),
data.MakeInParam("@SmtpServer", SqlDbType.NVarChar,100, smtpserver),
data.MakeInParam("@SmtpUsername", SqlDbType.NVarChar, 30, smtpusername),
data.MakeInParam("@SmtpPassword", SqlDbType.NVarChar, 30, smtppassword),
data.MakeInParam("@SmtpPort", SqlDbType.Int, 10, smtpport),
data.MakeInParam("@PopServer", SqlDbType.NVarChar , 100, popserver),
data.MakeInParam("@PopUsername", SqlDbType.NVarChar, 30, popusername),
data.MakeInParam("@PopPassword", SqlDbType.NVarChar, 30, poppassword),
data.MakeInParam("@PopPort", SqlDbType.Int, 10, popport),
data.MakeInParam("@IsDelAfterRead", SqlDbType.Bit, 1, isdelafterread),
data.MakeInParam("@IsReceiveNew", SqlDbType.Bit, 1, isreceivenew),
data.MakeInParam("@TimeOut", SqlDbType.Int, 10, timeout),
data.MakeInParam("@OrderID", SqlDbType.Int, 10, orderid)
};
try
{
data.RunProc("SP_MailExtSetAdd", prams);
return true;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
throw new Exception("外部邮件设置保存出错!",ex);
}
}
#endregion
#region 清空某用户外部邮件设置
/// <summary>
/// 清空某用户外部邮件设置
/// </summary>
/// <param name="Username">用户名</param>
public bool ExtClearSettings(string Username)
{
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@Username", SqlDbType.NVarChar,50, Username),
};
try
{
data.RunProc("SP_MailExtSetClear",prams);
data = null;
return true;
}
catch(Exception ex)
{
Error.Log(ex.ToString());
return false;
}
}
#endregion
#region 获取设置的内容
/// <summary>
/// 获取设置的内容
/// </summary>
public SqlDataReader ExtGetSetting(string Username,int OrderID)
{
// create data object and params
SqlDataReader dataReader = null;
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@Username", SqlDbType.NVarChar, 20, Username),
data.MakeInParam("@OrderID", SqlDbType.Int, 1, OrderID)
};
try
{
// run the stored procedure
data.RunProc("SP_MailExtGetSet",prams,out dataReader);
return dataReader;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
throw new Exception("获取设置的内容出错!",ex);
}
}
#endregion
#region 获取可用到的设置的内容
/// <summary>
/// 获取可用到的设置的内容
/// </summary>
public SqlDataReader ExtGetAvaSetting(string Username)
{
// create data object and params
SqlDataReader dataReader = null;
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@Username", SqlDbType.NVarChar, 20, Username)
};
try
{
// run the stored procedure
data.RunProc("SP_MailExtGetAvailabelSet",prams,out dataReader);
return dataReader;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
throw new Exception("获取可用到的设置的内容出错!",ex);
}
}
#endregion
#region 外部邮件主体保存
/// <summary>
/// 外部邮件主体保存
/// </summary>
/// <param name="mailbody">Mail类</param>
public void SaveExtMail(jmail.Message JMsg,string Username,string Email,string MessageID)
{
// create data object and params
Database data = new Database();
/*
SqlParameter[] prams = {
data.MakeInParam("@MailID", SqlDbType.NVarChar , 10, ""),
data.MakeInParam("@Username", SqlDbType.NVarChar, 300, Username),
data.MakeInParam("@Email", SqlDbType.NVarChar, 100,"" ),
data.MakeInParam("@ReadFlag", SqlDbType.Bit,1, 0),
data.MakeInParam("@FolderID", SqlDbType.Int, 20, 1),
data.MakeInParam("@HeadersText", SqlDbType.NVarChar, 1000, Msg.Headers.ToString()),
data.MakeInParam("@Subject", SqlDbType.NVarChar, 100, Msg.Subject.ToString()),
data.MakeInParam("@TextContent", SqlDbType.NVarChar , 3000, Msg.Text.ToString()),
data.MakeInParam("@HtmlContent", SqlDbType.NVarChar, 3000, Msg.HTMLBody.ToString()),
data.MakeInParam("@FromName", SqlDbType.NVarChar, 300, Msg.FromName.ToString()),
data.MakeInParam("@FromEmail", SqlDbType.NVarChar, 200, Msg.From.ToString()),
data.MakeInParam("@CcTo", SqlDbType.NVarChar, 200,""),
data.MakeInParam("@BccTo", SqlDbType.NVarChar, 200, ""),
data.MakeInParam("@Replyto", SqlDbType.NVarChar, 200, Msg.ReplyTo.ToString()),
data.MakeInParam("@SendDate", SqlDbType.DateTime, 30, DateTime.Now),
data.MakeInParam("@BodySize", SqlDbType.NVarChar , 20, ""),
data.MakeInParam("@Size", SqlDbType.Int, 5,12)
};
*/
SqlParameter[] prams = {
data.MakeInParam("@MailID", SqlDbType.NVarChar , 100, MessageID),
data.MakeInParam("@Username", SqlDbType.NVarChar, 300, Username),
data.MakeInParam("@Email", SqlDbType.NVarChar, 100,Email),
data.MakeInParam("@ReadFlag", SqlDbType.Bit,1, 0),
data.MakeInParam("@FolderID", SqlDbType.Int, 20, 1),
data.MakeInParam("@HeadersText", SqlDbType.NVarChar, 1000, JMsg.Headers .ToString()),
data.MakeInParam("@Subject", SqlDbType.NVarChar, 100, JMsg.Subject.ToString()),
data.MakeInParam("@TextContent", SqlDbType.NVarChar , 3000, JMsg.Text.ToString()),
data.MakeInParam("@HtmlContent", SqlDbType.NVarChar, 3000, JMsg.HTMLBody.ToString()),
data.MakeInParam("@FromName", SqlDbType.NVarChar, 300, JMsg.FromName.ToString()),
data.MakeInParam("@FromEmail", SqlDbType.NVarChar, 200, ""),
data.MakeInParam("@CcTo", SqlDbType.NVarChar, 200,""),
data.MakeInParam("@BccTo", SqlDbType.NVarChar, 200, ""),
data.MakeInParam("@Replyto", SqlDbType.NVarChar, 200, ""),
data.MakeInParam("@SendDate", SqlDbType.DateTime, 30, DateTime.Parse(JMsg.Date.ToString())),
data.MakeInParam("@BodySize", SqlDbType.NVarChar , 20, ""),
data.MakeInParam("@Size", SqlDbType.Int, 5,12)
};
try
{
data.RunProc("SP_MailExtMailAdd", prams);
data = null;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
throw new Exception("外部邮件保存出错!",ex);
}
}
#endregion
#region 接收外部邮件
public void ReceiveMails(string Username,int OrderID)
{
jmail.Message Msg=new jmail.Message();
jmail.POP3 jpop = new jmail.POP3();
if(OrderID!=0)
{
SqlDataReader dataReader = this.ExtGetSetting(Username,OrderID);
if(dataReader.Read())
{
if(dataReader["PopServer"].ToString()!=""&&dataReader["PopUsername"].ToString()!="")
{
jpop.Connect(dataReader["PopUsername"].ToString(),dataReader["PopPassword"].ToString(),dataReader["PopServer"].ToString(),Int32.Parse(dataReader["PopPort"].ToString()));
for(int i=1;i<=jpop.Count;i++)
{
Msg = jpop.Messages[i];
this.SaveExtMail(Msg,Username,dataReader["Email"].ToString(),jpop.GetMessageUID(i));
}
jpop.Disconnect();
}
}
}
}
#endregion
}
public class MailMainBody
{
private int m_MailFolderType;
private string m_MailReceiverStr;
private int m_MailSendLevel;
private string m_MailSendDate;
private string m_MailReceiver;
private string m_MailSender;
private string m_MailSubject;
private string m_MailBody;
private string m_MailCcToAddr;
private string m_MailBccToAddr;
private int m_MailReadFlag;
private int m_MailTypeFlag;
private int m_MailClassID;
private int m_MailImportance;
//外部邮件用
private string m_ExtHeadersText;
private string m_ExtHtmlContent;
private string m_ExtFromName;
private string m_ExtFromEmail;
private string m_ExtReplyTo;
private string m_ExtMailID;
public int MailFolderType
{
//邮箱类型
get { return m_MailFolderType; }
set { m_MailFolderType = value; }
}
public string MailReceiverStr
{
//收件人字符串,用逗号隔开
get { return m_MailReceiverStr; }
set { m_MailReceiverStr = value; }
}
public string MailSendDate
{
//发送日期
get { return m_MailSendDate; }
set { m_MailSendDate = value; }
}
public int MailSendLevel
{
//发送级别
get { return m_MailSendLevel; }
set { m_MailSendLevel = value; }
}
public string MailSender
{
//发件人登陆名
get { return m_MailSender; }
set { m_MailSender = value; }
}
public string MailReceiver
{
//收件件人登陆名
get { return m_MailReceiver; }
set { m_MailReceiver = value; }
}
public string MailSubject
{
//邮件主题
get { return m_MailSubject; }
set { m_MailSubject = value; }
}
public string MailBody
{
//邮件主体
get { return m_MailBody; }
set { m_MailBody = value; }
}
public string MailCcToAddr
{
//抄送地址
get { return m_MailCcToAddr; }
set { m_MailCcToAddr = value; }
}
public string MailBccToAddr
{
//秘密抄送地址
get { return m_MailBccToAddr; }
set { m_MailBccToAddr = value; }
}
public int MailReadFlag
{
//是否已读标志 0 未读 1已读
get { return m_MailReadFlag; }
set { m_MailReadFlag = value; }
}
public int MailTypeFlag
{
//邮件类型 0 为内部 1为外部
get { return m_MailTypeFlag; }
set { m_MailTypeFlag = value; }
}
public int MailClassID
{
//所属项目ID
get { return m_MailClassID; }
set { m_MailClassID = value; }
}
public int MailImportance
{
//邮件重要性
get { return m_MailImportance; }
set { m_MailImportance = value; }
}
public string ExtHeadersText
{
//邮件头信息
get { return m_ExtHeadersText; }
set { m_ExtHeadersText = value; }
}
public string ExtHtmlContent
{
//Html格式邮件内容
get { return m_ExtHtmlContent; }
set { m_ExtHtmlContent = value; }
}
public string ExtFromName
{
//发送人姓名
get { return m_ExtFromName; }
set { m_ExtFromName = value; }
}
public string ExtFromEmail
{
//发送人Email
get { return m_ExtFromEmail; }
set { m_ExtFromEmail = value; }
}
public string ExtReplyTo
{
//回复至
get { return m_ExtReplyTo; }
set { m_ExtReplyTo = value; }
}
public string ExtMailID
{
//邮件的唯一标识
get { return m_ExtMailID; }
set { m_ExtMailID = value; }
}
}
public class MailAttachFile
{
private int m_FileID;
private int m_DocID;
private string m_FileName;
private int m_FileSize;
private int m_FileAttribute;
private string m_FileVisualPath;
private string m_FileAuthor;
private string m_FileCatlog;
public int FileID
{
//文件ID
get { return m_FileID; }
set { m_FileID = value; }
}
public int DocID
{
//文档ID
get { return m_DocID; }
set { m_DocID = value; }
}
public string FileName
{
//文件名
get { return m_FileName; }
set { m_FileName = value; }
}
public int FileSize
{
//文件大小
get { return m_FileSize; }
set { m_FileSize = value; }
}
public int FileAttribute
{
//文件属性
get { return m_FileAttribute; }
set { m_FileAttribute = value; }
}
public string FileVisualPath
{
//文件虚拟路径
get { return m_FileVisualPath; }
set { m_FileVisualPath = value; }
}
public string FileAuthor
{
//文件作者
get { return m_FileAuthor; }
set { m_FileAuthor = value; }
}
public string FileCatlog
{
//文件类别
get { return m_FileCatlog; }
set { m_FileCatlog = value; }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -