c#中winform怎么根据邮箱地址和密码一键发送email
导读:本文共1848字符,通常情况下阅读需要6分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 企业信息化进程中,根据自己的Email地址一键发送邮件,了解发送原理可以批量发送多人邮箱。原来曾经用VB做过群发工资条,效果比较理想,现在使用c#做开发,原理基本一样。应用的技术:访问邮件服务器发送邮件、文件操作保存默认信息、winform按钮的逻辑操作效果图:核心要点及代码(这里以163为例)1.发送代码:这是最核心的,注意引用。文本框:发送地址,发送密码,发... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。企业信息化进程中,根据自己的Email地址一键发送邮件,了解发送原理可以批量发送多人邮箱。原来曾经用VB做过群发工资条,效果比较理想,现在使用c#做开发,原理基本一样。
应用的技术:访问邮件服务器发送邮件、文件操作保存默认信息、winform按钮的逻辑操作
效果图:
核心要点及代码(这里以163为例)
1.发送代码:这是最核心的,注意引用。文本框:发送地址,发送密码,发送服务器,接收地址,发送主题,发送内容。
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.Net.Mail;usingSystem.Text.RegularExpressions;usingSystem.IO;privatevoidbutton1_Click(objectsender,EventArgse){Regexr=newRegex("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");if(!(r.IsMatch(tbSend.Text)))//用正则表达式验证邮箱{MessageBox.Show("发送邮箱地址格式不正确!");return;}//生成SmtpClient实例,用它发送电子邮件MailMessagemail=newMailMessage();mail.BodyEncoding=System.Text.Encoding.UTF8;mail.IsBodyHtml=true;mail.From=newMailAddress(tbSend.Text);mail.To.Add(newMailAddress(tbAccep.Text));mail.Subject=tbAcceptS.Text;mail.Body=tbB.Text;//生成SmtpClient实例,用它发送电子邮件//指定SMTP服务器主机SmtpClientclient=newSmtpClient(tbSendS.Text);client.UseDefaultCredentials=false;client.EnableSsl=true;client.Credentials=newSystem.Net.NetworkCredential(tbSend.Text.Substring(0,tbSend.Text.IndexOf('@')),tbSendP.Text);client.DeliveryMethod=SmtpDeliveryMethod.Network;try{client.Send(mail);MessageBox.Show("发送成功");}catch(Exceptionex){MessageBox.Show("发送失败"+ex.Message.ToString());}}
2.配置了一些方便操作的功能,比如可以把默认发送地址密码保存在文件中,每次可以提取,还可以随时修改默认地址和密码。对winform的美观性做了强化。这里展示一些代码。有2个文本框是隐藏的,为了输入默认地址。一键可以现实。
这2个是修改默认地址的代码
privatevoidbutton3_Click(objectsender,EventArgse){if(n%2==0){textBox1.Visible=true;textBox2.Visible=true;stringfileName=Environment.CurrentDirectory+"\\myText"+".txt";if(System.IO.File.Exists(fileName)){varlines=File.ReadAllLines(@fileName);stringstr0=lines[0];stringstr1=lines[1];textBox1.Text=str0;textBox2.Text=str1;}n++;button3.Text="确认修改";}else{if(writefile(textBox1.Text,textBox2.Text)){textBox1.Visible=false;textBox2.Visible=false;n++;button3.Text="修改默认";}}}privatestaticboolwritefile(stringname,stringpassword){stringfileName=Environment.CurrentDirectory+"\\myText"+".txt";if(System.IO.File.Exists(fileName)){File.Delete(fileName);}StreamWritersw=File.AppendText(fileName);sw.WriteLine(name);sw.WriteLine(password);sw.Flush();sw.Close();returntrue;}
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
c#中winform怎么根据邮箱地址和密码一键发送email的详细内容,希望对您有所帮助,信息来源于网络。