温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:基于Ajax的邮件系统源码
当前文件路径:AjaxMail/App_Code/Mail.cs

1using System; 2
using System.Data; 3
using System.Configuration; 4
using System.Web; 5
using System.Web.Security; 6
using System.Web.UI; 7
using System.Web.UI.WebControls; 8
using System.Web.UI.WebControls.WebParts; 9
using System.Web.UI.HtmlControls; 10
using System.Data.SqlClient; 11
using Web2ASPNET2.OperateSqlServer; 12
using Web2ASPNET2.CommonOperation; 13
using System.Net.Mail; 14
15
namespace Web2ASPNET2.ASPNET2AjaxMail 16
{ 17
public class AjaxMailProfile 18
{ 19
public string ServerIP = string.Empty; 20
public int ServerPort = -1; 21
} 22
23
public class Mail 24
{ 25
public Mail() 26
{ 27
// 28
// TODO: 在此处添加构造函数逻辑 29
// 30
} 31
32
/// <summary> 33
/// 获取邮件系统的配置 34
/// </summary> 35
/// <returns></returns> 36
public SqlDataReader GetMailProfile() 37
{ 38
return DataCommon.GetDataByReader("Pr_GetAjaxSystemConfig"); 39
} 40
41
/// <summary> 42
/// 获取所有邮件 43
/// </summary> 44
/// <returns></returns> 45
public DataSet GetMails() 46
{ 47
return DataCommon.GetDataByDataSet("Pr_GetAjaxMails"); 48
} 49
50
/// <summary> 51
/// 根据邮箱获取邮件 52
/// </summary> 53
/// <param name="folderID"></param> 54
/// <returns></returns> 55
public DataSet GetMailsByFloder(int folderID) 56
{ 57
///定义保存数据的DataSet对象 58
DataSet ds = new DataSet(); 59
///添加存储过程参数 60
SqlParameter[] parameters = { 61
OperateDatabase.CreateInParam("@FolderID",SqlDbType.Int,4,folderID) 62
}; 63
///执行存储过程 64
OperateDatabase.RunProc("Pr_GetAjaxMailByFolder",ref ds,parameters); 65
///返回结果 66
return ds; 67
} 68
69
/// <summary> 70
/// 根据邮箱获取邮件 71
/// </summary> 72
/// <param name="folderID"></param> 73
/// <returns></returns> 74
public DataSet GetMailsByFilter(string filter,string flag) 75
{ 76
///定义保存数据的DataSet对象 77
DataSet ds = new DataSet(); 78
///添加存储过程参数 79
SqlParameter[] parameters = { 80
OperateDatabase.CreateInParam("@Filter",SqlDbType.VarChar,255,filter), 81
OperateDatabase.CreateInParam("@Flag",SqlDbType.VarChar,10,flag) 82
}; 83
///执行存储过程 84
OperateDatabase.RunProc("Pr_GetMailsByFilter",ref ds,parameters); 85
///返回结果 86
return ds; 87
} 88
89
/// <summary> 90
/// 获取单个邮件 91
/// </summary> 92
/// <param name="mailID"></param> 93
/// <returns></returns> 94
public SqlDataReader GetSingleMail(int mailID) 95
{ 96
return DataCommon.GetDataByReaderIDParam("Pr_GetSingleAjaxMail",mailID); 97
} 98
99
/// <summary> 100
/// 发送邮件 101
/// </summary> 102
/// <param name="mail"></param> 103
/// <returns></returns> 104
public int SenderMail(MailMessage mail) 105
{ 106
///定义发送邮件的smtpClient 107
SmtpClient client = new SmtpClient(); 108
109
try 110
{ 111
///设置邮件服务器主机的IP地址 112
client.Host = ((AjaxMailProfile)HttpContext.Current.Application["MailProfile"]).ServerIP; 113
///设置邮件服务器的端口 114
client.Port = ((AjaxMailProfile)HttpContext.Current.Application["MailProfile"]).ServerPort; 115
///配置发送邮件的属性 116
client.DeliveryMethod = SmtpDeliveryMethod.Network; 117
client.UseDefaultCredentials = false; 118
///发送邮件 119
client.Send(mail); 120
121
return 1; ///发送成功 122
} 123
catch 124
{ 125
return -1; ///发送失败 126
} 127
} 128
129
/// <summary> 130
/// 将发送的邮件保存在数据库中 131
/// </summary> 132
/// <param name="name"></param> 133
/// <param name="body"></param> 134
/// <param name="from"></param> 135
/// <param name="to"></param> 136
/// <param name="cc"></param> 137
/// <param name="htmlFormat"></param> 138
/// <param name="size"></param> 139
/// <param name="attachmentFlag"></param> 140
/// <returns></returns> 141
public int SaveAsMail(string name,string body,string from,string to,string cc, 142
bool htmlFormat,int size,bool attachmentFlag) 143
{ ///创建参数列表 144
SqlParameter[] parameters = { 145
OperateDatabase.CreateInParam("@Name",SqlDbType.VarChar,200,name), 146
OperateDatabase.CreateInParam("@Body",SqlDbType.Text,ASPNET2AjaxMail.TextStringLength,body), 147
OperateDatabase.CreateInParam("@From",SqlDbType.VarChar,255,from), 148
OperateDatabase.CreateInParam("@To",SqlDbType.VarChar,500,to), 149
OperateDatabase.CreateInParam("@CC",SqlDbType.VarChar,500,cc), 150
OperateDatabase.CreateInParam("@ISHtmlFormat",SqlDbType.Bit,1,htmlFormat), 151
OperateDatabase.CreateInParam("@Size",SqlDbType.Int,4,size), 152
OperateDatabase.CreateInParam("@AttachmentFlag",SqlDbType.TinyInt,1,attachmentFlag) 153
}; 154
return (OperateDatabase.RunProc("Pr_AddAjaxMail",parameters)); 155
} 156
157
/// <summary> 158
/// 保存邮件的附件 159
/// </summary> 160
/// <param name="name"></param> 161
/// <param name="url"></param> 162
/// <param name="type"></param> 163
/// <param name="size"></param> 164
/// <param name="mailID"></param> 165
/// <returns></returns> 166
public int SaveAsMailAttachment(string name,string url,string type,int size,int mailID) 167
{ ///创建参数列表 168
SqlParameter[] parameters = { 169
OperateDatabase.CreateInParam("@Name",SqlDbType.VarChar,200,name), 170
OperateDatabase.CreateInParam("@Url",SqlDbType.VarChar,255,url), 171
OperateDatabase.CreateInParam("@Type",SqlDbType.VarChar,100,type), 172
OperateDatabase.CreateInParam("@Size",SqlDbType.Int,4,size), 173
OperateDatabase.CreateInParam("@MailID",SqlDbType.Int,4,mailID) 174
}; 175
return (OperateDatabase.RunProc("Pr_AddAjaxMailAttachment",parameters)); 176
} 177
178
public int SaveASMailProfile(string ip,int port) 179
{ 180
///创建参数列表 181
SqlParameter[] parameters = { 182
OperateDatabase.CreateInParam("@IP",SqlDbType.VarChar,50,ip), 183
OperateDatabase.CreateInParam("@Port",SqlDbType.Int,4,port) 184
}; 185
return (OperateDatabase.RunProc("Pr_SaveASMailProfile",parameters)); 186
} 187
188
/// <summary> 189
/// 删除邮件 190
/// </summary> 191
/// <param name="mailID"></param> 192
/// <returns></returns> 193
public int DeleteMail(int mailID) 194
{ 195
return DataCommon.QueryDataIDParam("Pr_DeleteAjaxMail",mailID); 196
} 197
198
/// <summary> 199
/// 获取邮件的附件 200
/// </summary> 201
/// <param name="mailID"></param> 202
/// <returns></returns> 203
public DataSet GetAttachmentsByMail(int mailID) 204
{ 205
///定义保存数据的DataSet对象 206
DataSet ds = new DataSet(); 207
///添加存储过程参数 208
SqlParameter[] parameters = { 209
OperateDatabase.CreateInParam("@MailID",SqlDbType.Int,4,mailID) 210
}; 211
///执行存储过程 212
OperateDatabase.RunProc("Pr_GetAttachmentsByMail",ref ds,parameters); 213
///返回结果 214
return ds; 215
} 216
} 217
} 218





}
}