diff --git a/软件系统服务端模版/FormServerWindow.cs b/软件系统服务端模版/FormServerWindow.cs
index 3db7f85..f534973 100644
--- a/软件系统服务端模版/FormServerWindow.cs
+++ b/软件系统服务端模版/FormServerWindow.cs
@@ -44,6 +44,14 @@ using System.Diagnostics;
********************************************************************************************/
+/******************************************************************************************
+ *
+ * 关于邮件系统:如果你服务器端的程序部署在可上网的计算机上时,可以使用
+ * 先进行邮件系统的初始化,指定接收邮件的地址
+ * 如果需要使用,请参照下面的邮件功能块说明
+ *
+ ********************************************************************************************/
+
@@ -55,17 +63,18 @@ namespace 软件系统服务端模版
{
InitializeComponent();
+ //捕获所有未处理的异常并进行预处理
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
//检测日志路径是否存储
LogSavePath = Application.StartupPath + @"\Logs";
- if(!System.IO.Directory.Exists(LogSavePath))
+ if (!System.IO.Directory.Exists(LogSavePath))
{
System.IO.Directory.CreateDirectory(LogSavePath);
}
}
-
+
#region 窗口属性+窗口方法
@@ -84,6 +93,8 @@ namespace 软件系统服务端模版
{
//初始化默认的委托对象
ActionInitialization();
+ //邮件系统初始化
+ SoftMailInitialization();
//初始化日志工具
RuntimeLogHelper = new SoftLogHelper()
{
@@ -189,9 +200,11 @@ namespace 软件系统服务端模版
///
private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
- if(e.ExceptionObject is Exception ex)
+ if (e.ExceptionObject is Exception ex)
{
RuntimeLogHelper.SaveError("UnhandledException:", ex);
+ //发送到自己的EMAIL
+ SendUserMail(ex);
}
}
@@ -241,7 +254,7 @@ namespace 软件系统服务端模版
using (FormInputAndAction fiaa = new FormInputAndAction(
m =>
{
- net_socket_server.SendAllClients(CommonHeadCode.MultiNetHeadCode.弹窗新消息, m); return true;
+ net_socket_server.SendAllClients(CommonHeadCode.MultiNetHeadCode.弹窗新消息, m); return true;
}))
{
fiaa.ShowDialog();
@@ -440,8 +453,8 @@ namespace 软件系统服务端模版
if (customer == CommonHeadCode.SimplifyHeadCode.维护检查)
{
net_simplify_server.SendMessage(state, customer, "1");
- //UserServer.ServerSettings.Can_Account_Login ? "1" : "0" +
- //UserServer.ServerSettings.Account_Forbidden_Reason);
+ //UserServer.ServerSettings.Can_Account_Login ? "1" : "0" +
+ //UserServer.ServerSettings.Account_Forbidden_Reason);
}
else if (customer == CommonHeadCode.SimplifyHeadCode.更新检查)
{
@@ -532,8 +545,8 @@ namespace 软件系统服务端模版
{
ClientsLogHelper.SaveError(data);
net_simplify_server.SendMessage(state, customer, "成功");
- //如果需要发送您自己的邮件,请取消下面的注释并替代您的邮箱地址
- //SoftMail.MailSystem163.SendMail("hsl200909@163.com", "异常记录", "时间:" + DateTime.Now.ToString("O") + Environment.NewLine + data);
+ //发送到邮箱
+ SendUserMail("异常记录", "时间:" + DateTime.Now.ToString("O") + Environment.NewLine + data);
}
else
{
@@ -687,7 +700,7 @@ namespace 软件系统服务端模版
}
}
-
+
/******************************************************************************************************************
@@ -750,12 +763,12 @@ namespace 软件系统服务端模版
{ "chats", new JValue(Chats_Managment.ToSaveString())}
};
//发送客户端的初始化数据
- net_socket_server.Send(object1, CommonHeadCode.MultiNetHeadCode.初始化数据, json.ToString());
+ net_socket_server.Send(object1, CommonHeadCode.MultiNetHeadCode.初始化数据, json.ToString());
//触发上下线功能
UserInterfaceMessageRender(DateTime.Now.ToString("MM-dd HH:mm:ss ") + object1._IpEnd_Point.Address.ToString() + ":" + object1.LoginAlias + " 上线");
}
-
+
private void Net_socket_server_AllClientsStatusChange(string data)
{
@@ -793,7 +806,7 @@ namespace 软件系统服务端模版
toolStripStatusLabel_time.Alignment = ToolStripItemAlignment.Right;
statusStrip1.LayoutStyle = ToolStripLayoutStyle.StackWithOverflow;
toolStripStatusLabel_time.ForeColor = Color.Purple;//紫色
-
+
Thread thread = new Thread(new ThreadStart(ThreadTimeTick));
thread.IsBackground = true;
@@ -840,7 +853,7 @@ namespace 软件系统服务端模版
second = DateTime.Now.Second;
if (IsWindowShow && IsHandleCreated) Invoke(DTimeShow);
//每秒钟执行的代码
-
+
if (second == 0)
{
//每个0秒执行的代码
@@ -1074,7 +1087,7 @@ namespace 软件系统服务端模版
///
/// 消息发送人
/// 内容
- private void ChatAddMessage(string user,string message)
+ private void ChatAddMessage(string user, string message)
{
string content = "\u0002" + user + DateTime.Now.ToString(" yyyy-MM-dd HH:mm:ss") + Environment.NewLine + " " + message;
//转发所有的客户端,包括发送者
@@ -1119,6 +1132,42 @@ namespace 软件系统服务端模版
private SoftLogHelper ClientsLogHelper { get; set; }
+ #endregion
+
+ #region 邮件系统块
+
+ /******************************************************************************************
+ *
+ * 本邮件系统使用了组件中预设好的中间发送地址,已经内置了两个邮件地址
+ * 本处仅仅使用了163网易的邮箱发送
+ * 下面提供了两个方法,实现了方便的发送,可以在程序的其他地方进行调用
+ *
+ ********************************************************************************************/
+
+ ///
+ /// 控制系统是否真的发送邮件到指定地址
+ ///
+ private bool IsSendMailEnable { get; set; }
+ ///
+ /// 邮件发送系统的初始方式,所有的参数将在下面进行
+ ///
+ private void SoftMailInitialization()
+ {
+ IsSendMailEnable = false;//先进行关闭
+ SoftMail.MailSystem163.MailSendAddress = "hsl200909@163.com";//作者测试的邮箱地址,实际需要换成你自己的
+ }
+
+
+ private void SendUserMail(Exception ex)
+ {
+ if(IsSendMailEnable) SoftMail.MailSystem163.SendMail(ex);
+ }
+
+ private void SendUserMail(string subject, string body)
+ {
+ if (IsSendMailEnable) SoftMail.MailSystem163.SendMail(subject, body);
+ }
+
#endregion
}
}