我觉得懂得编写发送邮件客服端丰常重要.这可以把它嵌入到你的软件里加强与用户的沟通与可以收集程运行的错误信息.以与我编写一小的发送邮件客服端来与在家交流.
程序如下:
发送邮件解决方案下载
接下来,我来说一下我开发的过程与体会:
创建发送邮件客服端步骤:
1.创建Smtp服务器.
2.创建发件人,与收件人邮箱地址.
3.创建发送信息.
4.建件发送附件.
1.Smtp服务器,可用本地的也可以用其它的可用有Smtp服务器.如。smtp.126.com;smtp163.com.
需要注意的时:
(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;
}
}
SmtpClient_my = new SmtpClient(ip, Port);
2.创建发件人,与收件人邮箱地址.
MailAddress_from = new MailAddress(Tb_Email_from.Text, Tb_Print.Text);
MailAddress_to = new MailAddress(Tb_Email_to.Text);
3.创建发送信息
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.建件发送附件.
Attachment_my = new Attachment(path, MediaTypeNames.Application.Octet);
注意要控制附件的大小,因为很多邮件服务商附件大小都是有限件的。
FileStream FileStream_my = new FileStream(path, FileMode.Open);
string name = FileStream_my.Name;
int size = (int)(FileStream_my.Length / 1024);
//控制文件大小不大于10M
if (size > 10240)
{
MessageBox.Show("文件长度不能大于10M!你选择的文件大小为{0}", size.ToString());
return;
}
FileStream_my.Close();
5。发送后事件处理。
创建事件
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)
{
MessageBox.Show(e.UserState.ToString() + "发送错误:" + e.Error.Message, "发送错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
MessageBox.Show("邮件成功发出!", "恭喜!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#endre
分享到:
相关推荐
具体内容:第1章 C#.NET网络编程概述 第2章 C#.NET高级网络编程技术概述 第3章 开发基于TCP协议的应用程序 第4章 开发基于UDP的应用程序 第5章 开发基于SNMP协议的应用程序 第6章 使用.NET发送邮件 第7章 FTP下载与...
C#版企业短信群发系统,界面专业...系统功能:添加联系人、群发邮件、发送记录、常用短信语及管理、系统管理设置等。是公司正在用的群发系统,请不要将程序用于商业用途,仅供学习参考。登录用户名及密码:tsoft/111。
然后,您可以在C#应用程序和测试中发送和接收电子邮件和附件。 快速链接 开始吧 ::: 提示 本节介绍如何使用CSharp客户端启动和运行。 客户端以DotNet-Core 2.1及更高版本为目标。 如果您需要其他目标,请考虑...
Express.CSharp 使用CSharp集成到Element Express API 问题? 功能要求? 打开一个问题。 愿意贡献自己的力量吗?...当您创建Express测试帐户时,将发送一封电子邮件,其中包含指向文档的链接。 步骤1:
邮件发送程序 透明窗口 进度条的使用 运动的球 菜单的使用 翻牌游戏 网页下载器 线程例子 线程休眠 类型转换 简易计算器 生成网页 添加控件 浮动的窗口 浏览图片 测试webserer 栈的操作 枚举的使用 构造函数 来抓我...
不需要通过SMTP代理,可以直接通过本地往邮箱所在的邮件交换器发送邮件。在暑假一开始想在 VC++ 中实现这个功能。用 IRIS 截包后,发现程序中有 发送邮箱,不知道这个是什么东西,所以作罢。后来才想到这个就是 的MX...
计算机科学与发展研究所适用于 Windows 的简单快速的 CSharp 命令提示符关于CSMD是一个 C# 设计的应用程序,它模拟 Windows 命令提示符,并允许您快速输入一些 C# 清晰的代码,编译并运行它! 您甚至可以编写自己的 ...
样本webapi-rx-streams-csharp 此示例应用程序使用带有.NET 4.5.1的C#来订阅来自TradeStation WebAPI的流报价。 在查看之后,考虑研究此。 对该代码进行了高度注释,以解释其背后的意图。配置您需要获取访问令牌,...
Stimulsoft Reports.Web的ASP.NET MVC C#示例 此存储库包含使用C#代码和HTML5组件的ASP.NET MVC...通过电子邮件发送报告 在查看器中显示报告 显示互动报告 在报表中使用业务对象 在一个项目中使用查看器和设计器 网
Stimulsoft Reports.Web的ASP.NET Core MVC C#示例 该存储库包含ASP.NET Core应用程序中使用C#代码和HTML5组件的Stimulsoft Reports.Web报告工具用法示例...通过电子邮件发送报告 在查看器中显示报告 显示互动报告
请不要直接将任何有关问题的电子邮件发送给任何libmongoc开发人员-您更有可能在上得到答案。 错误/功能请求 认为您发现了错误? 是否想在libmongoc中看到一个新功能? 请在我们的问题管理工具JIRA中打开一个案例: ...
不和谐突袭工具 安装/使用 :wrench: 从下载文件 放置在包含名为“ tokens”的文本...我建议您在突袭之前拥有很多令牌,该程序通过遍历每个令牌并使用该令牌发送消息来进行工作。 如果没有,您可能会获得Ratelimited!
棋盘游戏 ... 理想情况下,我希望使用SendGrid API发送电子邮件,但是它需要一个自定义域名,而且我现在还没有为之付款! 因此,我为此项目设置的Gmail地址习惯最终会出现在收件人的垃圾邮件文件夹中:
2个Email.Test.App Azure功能发送电子邮件Email.Test.App文件夹概括应用程序的总体目标:> A user can browse to "http://localhost:5000/". > The page is served through the **http server**. The console ...
Bitwarden移动应用 Bitwarden移动应用程序使用Xamarin Android,Xamarin iOS和Xamarin Forms的C#编写。... 如果报告属于敏感性质,请提出问题或私下给我们发送电子邮件。 您可以在文件中阅读我们的安全策略。
7) 一些浏览器也包含电子邮件客户,使浏览器能够发送和接收电子邮件 8) 浏览器将它取回的每一个页面副本都放入本地磁盘的缓存中。 9) 当用户用鼠标点击某个选项时,浏览器首先检查磁盘的缓存。若缓存中保存了该项,...
-请发送电子邮件至 或查看问题标签。如何通过3个步骤+运行应用程序在.NET Core 3.1 WebAPI / MVC应用程序中安装NETCore2Blockly步骤1: 通过在程序包管理器控制台中运行以下命令来安装 : 安装软件包NetCore2...
AWS Step Functions抄袭演示.NET Core ... 向学生发送电子邮件通知,以告知他们要求该过程等待学生完成考试,然后确定学生是否参加了考试或通过了考试如果学生考试不及格,他们可以重新参加考试。 在事件解决或采取行政
将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005 ASP.NET 2.0 中的数据源控件 使用 ASP.NET 2.0 ObjectDataSource 控件 ASP.NET 2.0 的内部变化 使用SQL Cache Dependency 代替 ...
最终结果应该是更好的应用程序。 因此,此基于Xamarin的版本已存档。 随意浏览。 屏幕截图 产品特点 内置用于TCP和UDP的服务器 内置用于TCP和UDP的客户端 用十六进制或ASCII指定数据。 传入和传出流量的流量日志。...