c#中winform根據(jù)郵箱地址和密碼一鍵發(fā)送email的實(shí)現(xiàn)
企業(yè)信息化進(jìn)程中,根據(jù)自己的Email地址一鍵發(fā)送郵件,了解發(fā)送原理可以批量發(fā)送多人郵箱。原來(lái)曾經(jīng)用VB做過(guò)群發(fā)工資條,效果比較理想,現(xiàn)在使用c#做開(kāi)發(fā),原理基本一樣。
應(yīng)用的技術(shù):訪(fǎng)問(wèn)郵件服務(wù)器發(fā)送郵件、文件操作保存默認(rèn)信息、winform按鈕的邏輯操作
效果圖:
核心要點(diǎn)及代碼(這里以163為例)
1.發(fā)送代碼:這是最核心的,注意引用。文本框:發(fā)送地址,發(fā)送密碼,發(fā)送服務(wù)器,接收地址,發(fā)送主題,發(fā)送內(nèi)容。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Net.Mail; using System.Text.RegularExpressions; using System.IO; ? private void button1_Click(object sender, EventArgs e) ? ? ? ? { ? ? ? ? ? ? Regex r = new Regex("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"); ? ? ? ? ? ? if (!(r.IsMatch(tbSend.Text))) ?//用正則表達(dá)式驗(yàn)證郵箱 ? ? ? ? ? ? { ? ? ? ? ? ? ? ? MessageBox.Show("發(fā)送郵箱地址格式不正確!"); ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? //生成SmtpClient實(shí)例,用它發(fā)送電子郵件 ? ? ? ? ? ? MailMessage mail = new MailMessage(); ? ? ? ? ? ? mail.BodyEncoding = System.Text.Encoding.UTF8; ? ? ? ? ? ? mail.IsBodyHtml = true; ? ? ? ? ? ? mail.From = new MailAddress(tbSend.Text); ? ? ? ? ? ? mail.To.Add(new MailAddress(tbAccep.Text)); ? ? ? ? ? ? mail.Subject = tbAcceptS.Text; ? ? ? ? ? ? mail.Body = tbB.Text; ? ? ? ? ? ? //生成SmtpClient實(shí)例,用它發(fā)送電子郵件 ? ? ? ? ? ? //指定SMTP服務(wù)器主機(jī) ? ? ? ? ? ? SmtpClient client = new SmtpClient(tbSendS.Text); ? ? ? ? ? ? client.UseDefaultCredentials = false; ? ? ? ? ? ? client.EnableSsl = true; ? ? ? ? ? ? client.Credentials = new System.Net.NetworkCredential(tbSend.Text.Substring(0, tbSend.Text.IndexOf('@')), tbSendP.Text); ? ? ? ? ? ? client.DeliveryMethod = SmtpDeliveryMethod.Network; ? ? ? ? ? ? try ? ? ? ? ? ? { ? ? ? ? ? ? ? ? client.Send(mail); ? ? ? ? ? ? ? ? MessageBox.Show("發(fā)送成功"); ? ? ? ? ? ? } ? ? ? ? ? ? catch (Exception ex) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? MessageBox.Show("發(fā)送失敗" + ex.Message.ToString()); ? ? ? ? ? ? } ? ? ? ? }
2.配置了一些方便操作的功能,比如可以把默認(rèn)發(fā)送地址密碼保存在文件中,每次可以提取,還可以隨時(shí)修改默認(rèn)地址和密碼。對(duì)winform的美觀性做了強(qiáng)化。這里展示一些代碼。有2個(gè)文本框是隱藏的,為了輸入默認(rèn)地址。一鍵可以現(xiàn)實(shí)。
這2個(gè)是修改默認(rèn)地址的代碼
? private void button3_Click(object sender, EventArgs e) ? ? ? ? { ? ? ? ? ? ? if (n%2 == 0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? textBox1.Visible = true; ? ? ? ? ? ? ? ? textBox2.Visible = true; ? ? ? ? ? ? ? ? string fileName = Environment.CurrentDirectory + "\\myText" + ".txt"; ? ? ? ? ? ? ? ? if (System.IO.File.Exists(fileName)) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? var lines = File.ReadAllLines(@fileName); ? ? ? ? ? ? ? ? ? ? string str0 = lines[0]; ? ? ? ? ? ? ? ? ? ? string str1 = lines[1]; ? ? ? ? ? ? ? ? ? ? textBox1.Text = str0; ? ? ? ? ? ? ? ? ? ? textBox2.Text = str1; ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? n++; ? ? ? ? ? ? ? ? button3.Text = "確認(rèn)修改"; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (writefile(textBox1.Text, textBox2.Text)) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? textBox1.Visible = false; ? ? ? ? ? ? ? ? ? ? textBox2.Visible = false; ? ? ? ? ? ? ? ? ? ? n++; ? ? ? ? ? ? ? ? ? ? button3.Text = "修改默認(rèn)"; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ?private static bool writefile(string name, string password) ? ? ? ? { ? ? ? ? ? ? string fileName = Environment.CurrentDirectory + "\\myText" + ".txt"; ? ? ? ? ? ? if (System.IO.File.Exists(fileName)) ? ? ? ? ? ? { ? ? ? ? ? ? ? ?File.Delete(fileName); ? ? ? ? ? ? } ? ? ?? ? ? ? ? ? ? ? ? StreamWriter sw = File.AppendText(fileName); ? ? ? ? ? ? ? ?sw.WriteLine(name); ? ? ? ? ? ? ? ?sw.WriteLine(password); ? ? ? ? ? ? ? ?sw.Flush(); ? ? ? ? ? ? ? ?sw.Close(); ? ? ? ? ?? ? ? ? ? ? ? return true; ? ? ? ? ? ? ? ? ? ? ? ? ? }
到此這篇關(guān)于c#中winform根據(jù)郵箱地址和密碼一鍵發(fā)送email的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)c# winform郵箱地址和密碼發(fā)送email內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C#中WinForm程序退出方法技巧總結(jié)
- C# WinForm中禁止改變窗口大小的方法
- C#中winform使用相對(duì)路徑讀取文件的方法
- c# winform取消右上角關(guān)閉按鈕的實(shí)現(xiàn)方法
- 基于C# winform實(shí)現(xiàn)圖片上傳功能的方法
- C#在winform中實(shí)現(xiàn)數(shù)據(jù)增刪改查等功能
- C# WinForm應(yīng)用程序降低系統(tǒng)內(nèi)存占用方法總結(jié)
- C# Winform窗口之間傳值的多種方法淺析
- C#中winform實(shí)現(xiàn)自動(dòng)觸發(fā)鼠標(biāo)、鍵盤(pán)事件的方法
相關(guān)文章
WinForm開(kāi)發(fā)中屏蔽WebBrowser腳本錯(cuò)誤提示的方法
這篇文章主要介紹了WinForm開(kāi)發(fā)中屏蔽WebBrowser腳本錯(cuò)誤提示的方法,在C#項(xiàng)目開(kāi)發(fā)中比較實(shí)用,需要的朋友可以參考下2014-08-08c#之獲取本機(jī)主機(jī)名的四種方式總結(jié)
這篇文章主要介紹了c#之獲取本機(jī)主機(jī)名的四種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07C#?CefSharp?根據(jù)輸入日期段自動(dòng)選擇日期的操作代碼
這篇文章主要介紹了C#?CefSharp?根據(jù)輸入日期段自動(dòng)選擇日期的操作代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01Unity3D利用DoTween實(shí)現(xiàn)卡牌翻轉(zhuǎn)效果
這篇文章主要為大家詳細(xì)介紹了Unity3D利用DoTween實(shí)現(xiàn)卡牌翻轉(zhuǎn)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02Unity輸出帶點(diǎn)擊跳轉(zhuǎn)功能的Log實(shí)現(xiàn)技巧詳解
這篇文章主要為大家介紹了Unity輸出帶點(diǎn)擊跳轉(zhuǎn)功能的Log實(shí)現(xiàn)技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11C#設(shè)計(jì)模式編程中運(yùn)用適配器模式結(jié)構(gòu)實(shí)戰(zhàn)演練
這篇文章主要介紹了C#設(shè)計(jì)模式編程中運(yùn)用適配器模式結(jié)構(gòu)實(shí)戰(zhàn)演練,并總結(jié)了適配器模式的優(yōu)缺點(diǎn)和適用場(chǎng)景以及.NET框架中的應(yīng)用,需要的朋友可以參考下2016-02-02