using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Text;
namespace whsvc
{
namespace CMail
{
public class CMail
{
private String servername, body, attachpath, from_address, to_address, subject, encdoing = "GB2312";
private MailMessage message = null;
private bool isBcc = false;
private SmtpClient client = null;
private String username, password;
public String Username
{
set { this.username = value; }
get { return this.username; }
}
public String Password
{
set { this.password = value; }
get { return this.password; }
}
public String Body
{
set { this.body = value; }
get { return this.body; }
}
public String Server
{
set { this.servername = value; }
get { return this.servername; }
}
public String FileName
{
set { this.attachpath = value; }
get { return this.attachpath; }
}
public String From
{
set { this.from_address = value; }
get { return this.from_address; }
}
public String To
{
set { this.to_address = value; }
get { return this.to_address; }
}
public String Subject
{
set { this.subject = value; }
get { return this.subject; }
}
public String Encoding
{
set { this.encdoing = value; }
get { return this.encdoing; }
}
public CMail(String username, String password, String servername)
{
this.username = username;
this.password = password;
this.servername = servername;
}
public CMail()
{
}
private bool parse()
{
bool success = false;
if (from_address.Length != 0)
{
if (to_address.Length != 0)
{
message = new MailMessage(this.from_address, this.to_address, subject, body);
message.BodyEncoding = System.Text.Encoding.Default;
if (this.attachpath != null)
{
if (this.attachpath.Length != 0)
{
try
{
message.Attachments.Add(new Attachment(this.attachpath));
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
}
message.Priority = MailPriority.Normal;
if (this.servername.Length != 0)
{
client = new SmtpClient(this.servername);
if (this.username.Length != 0 && this.password.Length != 0)
{
client.Credentials = new NetworkCredential(this.username, this.password);
success = true;
}
else
{
throw new Exception("用户名或密码不能为空");
}
}
else
{
throw new Exception("服务器不能为空");
}
}
else
{
throw new Exception("收件人不能为空");
}
}
else
{
throw new Exception("发件人不能为空");
}
return success;
}
public void send()
{
if (parse())
{
try
{
client.Send(message);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
}
}
}
}
小孟
分享到:
相关推荐
简单易懂的Socket发送接收实例,绝对可用; 压缩包中SocketClient为客户端,SocketTest为服务端; 可在客户端输入内容,按回车发送; 服务端会显示接收到的数据并做出回应,聊天的模式; 使用.NET Framework 2.0制作...
在C#的SocketDemo中,你可能看到以下关键代码片段: ```csharp // 创建Socket对象 Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 绑定到本地IP和端口 ...
在C#中,System.Net.Sockets命名空间提供了对Socket的支持。 2. **C# Socket类**: C#中的Socket类是网络编程的核心,它提供了TCP(传输控制协议)和UDP(用户数据报协议)两种主要的网络通信方式。TCP提供面向...
本资源“基于HPSocket实现socket通讯 - 修正版 ( C# demo 、 C++ dll )”提供了一种实用的方法,帮助开发者高效地实现跨平台的网络通信功能。以下是关于HPSocket、Socket通讯以及其C#和C++实现的关键知识点: 1. **...
这个"C# 网络编程之socket tcp 通讯demo样例"可能涵盖了这些基本操作,为初学者提供了理解TCP通信机制的起点。通过阅读和理解代码,你可以了解到如何在C#中建立和管理TCP连接,以及如何进行数据的收发。对于进一步的...
在.NET框架中,C#语言提供了丰富的库支持网络通信,其中Socket类是核心部分,用于实现TCP/IP协议栈中的各种网络通信。本示例“c# socket demo 已经封装成共通”聚焦于C#中如何使用Socket进行TCP通信,并且已经封装...
在.NET框架中,C#语言提供了丰富的网络编程接口,Socket是其中的核心部分,...提供的SocketDemo文件应该包含了完整的代码示例,供学习和参考。在实际项目中,还可以考虑使用异步操作、多线程等技术提高性能和用户体验。
麻雀虽小,五脏俱全,这是一个可直接用于生产的脚手架 包含: DBHelper:数据库操作类,使用原生SQL,查询结果映射到Model,操作数据库非常方便,支持异步,...集成了自己写的Socket工具类,业务耦合较重,可以自己改
Winform窗体程序。第一个版本没有加心跳包 第二个版本可以相互检测到断网情况 适合学习,或借鉴后二次开发
标题"C# Socket通讯Demo"指的是使用C#编程语言实现基于Socket协议的通信示例。这通常包括创建服务器端(Server)和客户端(Client)的应用程序。服务器端负责监听特定的IP地址和端口号,等待客户端的连接请求;...
在C#中,System.Net.Sockets命名空间提供了Socket类,它是进行Socket通信的核心。 1. **创建Socket实例**:无论是服务器还是客户端,都需要创建Socket实例。服务器端通常会监听特定的IP地址和端口号,等待客户端的...
在C#中,使用`System.Net.Sockets`命名空间中的`Socket`类来实现TCP通信。 1. **Socket初始化**:在客户端和服务器端,都需要创建`Socket`对象,并指定协议类型(此处为`SocketType.Stream`,对应TCP)和地址族...
在"**CSharpPort**"压缩包中,可能有一个`SocketDemo`项目或类,它展示了如何使用`Socket`进行客户端和服务端的通信。 在`SocketDemo`中,你可能会看到以下关键步骤: 1. 创建Socket对象,指定其协议类型(TCP或UDP...
【标题】"C#SocketDemo.zip" 是一个包含C#编程语言实现的Socket通信示例项目的压缩包。这个项目主要用于演示如何在Windows Forms环境下构建一个简单的局域网聊天应用程序。 【描述】中提到的“C#(winform)写的一...
SocketDemo是基于C#语言实现的一个网络通信示例,它主要展示了如何利用Socket类进行客户端与服务器端的数据交互。在本文中,我们将深入探讨C#中的Socket编程,并结合SocketDemo来解析其核心知识点。 首先,Socket是...
通过分析和运行这个Demo,开发者可以深入理解SuperSocket的工作原理,了解如何处理网络通信的基本流程,如建立连接、发送和接收数据。对于新手来说,这是一个很好的起点,可以帮助他们快速掌握网络编程的基础,为...
在.NET框架中,C#语言提供了强大的支持来实现WebSocket服务端。本示例基于.NET6框架,将详细介绍如何使用C#编写WebSocket服务端,包括请求头解析、数据帧解析、数据帧掩码处理以及数据帧打包的关键步骤。 首先,...
总的来说,"socketDemo"是一个基础的多客户端Socket服务器应用,展示了如何在C#中使用Socket实现TCP连接,以及如何处理多个客户端的并发连接。通过这种方式,客户端可以通过服务器实现间接的通信。对于网络编程初学...
Socket在C#中被定义在System.Net.Sockets命名空间中。它的核心功能包括创建连接、监听请求、发送和接收数据等。以下是一些关于C# Socket编程的关键知识点: 1. **Socket 类创建**:首先,我们需要创建一个Socket...