当前位置:网站首页>[recommended by bloggers] C WinForm regularly sends email (with source code)
[recommended by bloggers] C WinForm regularly sends email (with source code)
2022-07-06 10:53:00 【xcLeigh】
List of articles
【 Bloggers recommend 】C# Winform Send email regularly ( Source code attached )
C# WinForm+Oracle+Email
1. Support for oracle Data regular query , Then send the query results to the email ;
2. Flexible and configurable , Log directory , Database related connections , The fields shown , The format of the presentation , Email sent , Form style, etc ;
3. On this basis , Support extended , Query data regularly ( Any database ), Send email ( SMS );
Form style
1. Support for minimization , Close hidden taskbar ;
2. The mailbox and database are configured , Start thread , Perform tasks ;
3. Output each processing data log
- Minimize the form
Form code
public ToDataEmail()
{
InitializeComponent();
// Default form maximization
//this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
SysFinalUtil.appLog = txtSysLog.Text + "log";
SysFinalUtil.appLog2 = txtSysLog.Text;
this.txtMess.Text = WriteFileUtil.ReadTxt();
}
#region Thread start end
private void btnStart_Click(object sender, EventArgs e)
{
// SMS receiving thread
WriteFileUtil.WriteFileLog("--------------------- Enter the regular query data sending mailbox ", "log");
EmailData sh = new EmailData();
EmailData.SysEmailName = txtSysEmailName.Text;
EmailData.SysEmailPass = txtSysEmailPass.Text;
EmailData.UserEmailName = txtUserEmailName.Text;
EmailData.SysEmailTitle = txtSysEmailTitle.Text;
EmailData.SysExecuteTime = int.Parse(txtSysExecuteTime.Text);
DBHelper.OracleDBHelper.linkConn = this.txtOracleLjc.Text;
EmailData.OracleSql = txtOracleSql.Text;
EmailData.OracleField = txtOracleField.Text;
EmailData.OracleFieldDetail = txtOracleFieldDetail.Text;
SysFinalUtil.appLog = txtSysLog.Text+"log";
SysFinalUtil.appLog2 = txtSysLog.Text;
string color = "1";
string style = "1";
if (rbColor1.Checked) { color = "1"; }
else if (rbColor2.Checked) { color = "2"; }
else if (rbColor3.Checked) { color = "3"; }
if (rbStyle1.Checked) { style = "1"; }
else if (rbStyle2.Checked) { style = "2"; }
EmailData.SysColor = color;
EmailData.SysStyle = style;
glo2.GlobalValue2.Email_RecvHandle = new Thread(sh.Rev_RunEmail);
glo2.GlobalValue2.Email_RecvHandle.Start();
this.btnClose.Enabled = true;
this.btnStart.Enabled = false;
}
private void btnClose_Click(object sender, EventArgs e)
{
glo2.GlobalValue2.Email_RecvHandle.Abort();
this.btnStart.Enabled = true;
this.btnClose.Enabled = false;
WriteFileUtil.WriteFileLog("--------------------- Close the data thread ", "log");
}
#endregion
private void ToDataEmail_Load(object sender, EventArgs e)
{
if (glo2.GlobalValue2.Email_RecvHandle == null)
{
this.btnStart.Enabled = true;
this.btnClose.Enabled = false;
}
else
{
this.btnClose.Enabled = true;
this.btnStart.Enabled = false;
}
}
private void ToDataEmail_FormClosed(object sender, FormClosedEventArgs e)
{
this.WindowState = FormWindowState.Minimized;
this.Hide();
return;
}
private void ToDataEmail_FormClosing(object sender, FormClosingEventArgs e)
{
this.WindowState = FormWindowState.Minimized;
this.Hide();
e.Cancel = true;
return;
}
private void nfiLow_MouseDoubleClick(object sender, MouseEventArgs e)
{
this.Show();
//this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
}
private void tsmixcSharp_Click(object sender, EventArgs e)
{
Process.Start("https://blog.csdn.net/weixin_43151418");
}
private void tsmiShow_Click(object sender, EventArgs e)
{
this.Show();
//this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
}
private void tsmiVis_Click(object sender, EventArgs e)
{
this.Hide();
}
private void tsmiExit_Click(object sender, EventArgs e)
{
//WriteFileUtil.WriteFileLog("--------------------- Exit procedure ", "log");
nfiLow.Visible = false;
System.Environment.Exit(0);// All threads exit
this.Close();
this.Dispose();
System.Windows.Forms.Application.Exit();
}
private void timer1_Tick(object sender, EventArgs e)
{
this.txtMess.Text = WriteFileUtil.ReadTxt();
}
private void tsmiTxtLoad_Click(object sender, EventArgs e)
{
this.txtMess.Text = WriteFileUtil.ReadTxt();
}
private void tsmiTxtClear_Click(object sender, EventArgs e)
{
if (WriteFileUtil.clearTxt())
{
//MessageBox.Show(" Emptying complete !");
this.txtMess.Text = WriteFileUtil.ReadTxt();
}
else
{
MessageBox.Show(" Empty exception !");
this.txtMess.Text = WriteFileUtil.ReadTxt();
}
}
Run the file
double-click XcSharpApp.exe function
Source code address
【 Bloggers recommend 】C# Winform Send email regularly ( Source code attached )
边栏推荐
- Texttext data enhancement method data argument
- CSDN question and answer tag skill tree (II) -- effect optimization
- [BMZCTF-pwn] 11-pwn111111
- How to change php INI file supports PDO abstraction layer
- MySQL23-存儲引擎
- Isn't there anyone who doesn't know how to write mine sweeping games in C language
- Windchill configure remote Oracle database connection
- 该不会还有人不懂用C语言写扫雷游戏吧
- CSDN-NLP:基于技能树和弱监督学习的博文难度等级分类 (一)
- Global and Chinese market of transfer switches 2022-2028: Research Report on technology, participants, trends, market size and share
猜你喜欢
35 is not a stumbling block in the career of programmers
Postman Interface Association
Isn't there anyone who doesn't know how to write mine sweeping games in C language
Other new features of mysql18-mysql8
Complete web login process through filter
CSDN问答标签技能树(一) —— 基本框架的构建
解决:log4j:WARN Please initialize the log4j system properly.
MySQL28-数据库的设计规范
Mysql33 multi version concurrency control
Record the first JDBC
随机推荐
Anaconda3 安装cv2
Navicat 导出表生成PDM文件
Ueeditor internationalization configuration, supporting Chinese and English switching
Mysql21 - gestion des utilisateurs et des droits
Baidu Encyclopedia data crawling and content classification and recognition
Breadth first search rotten orange
Use of dataset of pytorch
La table d'exportation Navicat génère un fichier PDM
MySQL25-索引的创建与设计原则
CSDN question and answer module Title Recommendation task (I) -- Construction of basic framework
Generate PDM file from Navicat export table
数据库中间件_Mycat总结
CSDN博文摘要(一) —— 一个简单的初版实现
基于Pytorch的LSTM实战160万条评论情感分类
Kubernetes - problems and Solutions
Mysql24 index data structure
MySQL28-数据库的设计规范
Mysql 其他主机无法连接本地数据库
Case identification based on pytoch pulmonary infection (using RESNET network structure)
[leectode 2022.2.13] maximum number of "balloons"