我觉得懂得编写发送邮件客服端丰常重要.这可以把它嵌入到你的软件里加强与用户的沟通与可以收集程运行的错误信息.以与我编写一小的发送邮件客服端来与在家交流. 接下来,我来说一下我开发的过程与体会: 1.Smtp服务器,可用本地的也可以用其它的可用有Smtp服务器.如。smtp.126.com;smtp163.com. } } SmtpClient_my = new SmtpClient(ip, Port); 3.创建发送信息 Attachment_my = new Attachment(path, MediaTypeNames.Application.Octet); 注意要控制附件的大小,因为很多邮件服务商附件大小都是有限件的。 FileStream FileStream_my = new FileStream(path, FileMode.Open); MessageBox.Show(“文件长度不能大于10M!你选择的文件大小为{0}”, size.ToString()); FileStream_my.Close(); 5。发送后事件处理。 MessageBox.Show(e.UserState.ToString() + “发送错误:” + e.Error.Message, “发送错误”, MessageBoxButtons.OK, MessageBoxIcon.Error); } } 结束. 出处:http://xuanfeng.cnblogs.com/archive/2006/05/15/400156.html
程序如下:
创建发送邮件客服端步骤:
1.创建Smtp服务器.
2.创建发件人,与收件人邮箱地址.
3.创建发送信息.
4.建件发送附件.
需要注意的时:
(1)如果用本的的,本地要装Smtp用服也就是系统组件,默认没有安装。
(2)如果用邮件服务商的,你要有其上面的帐号与密码,即你要申请个邮箱,做为的身份认证。
(3)smtp类初始化时只能用IP而不能用用务器名称。因为我个人觉得,一般提供邮件服务都有好几台服务器。你在CMD 命令行里,ping smtp.126.com,在不同时候返回不同的IP。这个问题找了很久才发觉。所在在程序里要用先得到,Smtp服务器的IP列表,然后用PING 命令判断那个可用。然后再用此IP来初始化Smtp服务类。
取得SMTP服务器列表.
http://xuanfeng.cnblogs.com/archive/2006/05/15/400158.html(此连接是有我一编写的一个取得网络信息的解决方案可以查找服务器的IP地址的列表.)
IPAddress[] IpAddress = Dns.GetHostEntry(ServerName).AddressList;
Ping ping = new Ping();
PingReply pingReply = null;
//取得smt服务器可用的IP
foreach (IPAddress IP in IpAddress)
{
pingReply = ping.Send(IP);
if (pingReply.Status == IPStatus.Success)
{
ip = IP.ToString();
break;
2.创建发件人,与收件人邮箱地址.
MailAddress_from = new MailAddress(Tb_Email_from.Text, Tb_Print.Text);
MailAddress_to = new MailAddress(Tb_Email_to.Text);
MailMessage_my = new MailMessage();
MailMessage_my.Subject = Tb_Content.Text;
MailMessage_my.ReplyTo = MailAddress_from;
MailMessage_my.Sender = MailAddress_from;
MailMessage_my.From = MailAddress_from;
MailMessage_my.To.Add(MailAddress_to);
4.建件发送附件.
string name = FileStream_my.Name;
int size = (int)(FileStream_my.Length / 1024);
//控制文件大小不大于10M
if (size > 10240)
{
return;
}
创建事件
SmtpClient_my.SendCompleted += new SendCompletedEventHandler(SmtpClient_my_SendCompleted);
事件处理函数。
void SmtpClient_my_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
if (e.Cancelled)
{ MessageBox.Show(“发送已取消!”); }
if (e.Error != null)
{
else
{
MessageBox.Show(“邮件成功发出!”, “恭喜!”, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endre
发送邮件程序(csharp2005)_c#应用
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 发送邮件程序(csharp2005)_c#应用
相关推荐
-      利用c#远程存取access数据库_c#应用
-      c# 3.0新特性系列:隐含类型var_c#教程
-      c#动态生成树型结构的web程序设计_c#应用
-      论c#变得越来越臃肿是不可避免的_c#应用
-      用c#监控并显示cpu状态信息_c#应用
-      c#中实现vb中的createobject方法_c#应用
-      photoshop给花瓶打造彩绘效果_photoshop教程
-      使用c#创建sql server的存储过程_c#应用