using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.Net;
namespace MyQuery.Utils
{
/// <summary>
/// 封装邮件处理
/// by 贾世义 2011-6-3
/// </summary>
public static class MailHelper
{
private static string smtpHost = null;
private static int smptPort = 25;
private static bool smtpIsUserCredentials = false;
private static string smtpCredentialAccount = null;
private static string smtpCredentialPassword = null;
/// <summary>
/// 设置发送邮件参数
/// </summary>
/// <param name="host">smtp服务器地址或名称</param>
/// <param name="port">smtp服务端口 一般为25</param>
/// <param name="isUserCredentials">是否需要认证</param>
/// <param name="account">需要认证时的用户</param>
/// <param name="password">需要认证时的用户的密码</param>
public static void SetParameters(string host, int port, bool isUserCredentials, string account, string password)
{
smtpHost = host;
smptPort = port;
smtpIsUserCredentials = isUserCredentials;
smtpCredentialAccount = account;
smtpCredentialPassword = password;
}
/// <summary>
/// 设置发送邮件参数 取配置
/// </summary>
private static void setParameters()
{
if (String.IsNullOrEmpty(smtpHost))
{
smtpHost = WebHelper.GetAppConfig("SmtpHost");
smptPort = DataHelper.GetIntValue(WebHelper.GetAppConfig("SmptPort"), 25);
smtpIsUserCredentials = Constants.TRUE_ID.Equals(WebHelper.GetAppConfig("SmtpIsUserCredentials"));
smtpCredentialAccount = WebHelper.GetAppConfig("SmtpCredentialAccount");
smtpCredentialPassword = WebHelper.GetAppConfig("SmtpCredentialPassword");
}
}
/// <summary>
/// 发送邮件 发送邮件错误不会抛出异常
/// </summary>
/// <param name="receivers">收件人</param>
/// <param name="title">标题/主题</param>
/// <param name="content">信件内容</param>
/// <param name="sender">发件人 空则取系统配置</param>
public static void SendMail(string receivers, string title, string content, string sender)
{
if (!String.IsNullOrEmpty(receivers))
{
//初始化参数
setParameters();
if (!String.IsNullOrEmpty(smtpHost))
{
try
{
SmtpClient smtp = new SmtpClient(smtpHost, smptPort);
if (smtpIsUserCredentials)
{
smtp.UseDefaultCredentials = true;
smtp.Credentials = new NetworkCredential(smtpCredentialAccount, smtpCredentialPassword); ;
}
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
if (String.IsNullOrEmpty(sender))
{
sender = smtpCredentialAccount;
}
foreach (string receiver in DataHelper.GetStrings(receivers))
{
MailMessage msg = new MailMessage(sender, receiver, title, content);
msg.BodyEncoding = Encoding.UTF8;
msg.SubjectEncoding = Encoding.UTF8;
msg.IsBodyHtml = true;
smtp.Send(msg);
msg.Dispose();
}
}
catch { }
}
}
}
}
}
分享到:
相关推荐
本资源是一个发送邮件的例子,里面有完整的代码,可以直接通过VS2008运行,例子内容丰富,包含了多种邮件发送。 如:搜狐,雅虎,新浪,163,126,QQ等20余种邮箱发送。
基于.NET2.0的System.Net.Mail发送邮件Demo源代码
asp.net 发送邮件 使用C#语言 文档直接可粘贴代码 成功运行
Lumisoft.NET这个非常优秀的开源组件的源代码,这份代码实现了发送和接收列表的功能,希望对你有帮助
NET开发邮件发送功能的全面教程(含邮件组件源码),NET开发邮件发送功能的全面教程(含邮件组件源码)
dotNET2.0发送电子邮件程序代码(C#和VB.net),附带C#源代码和VB.net代码。另外附上我自己写的一个发送邮件的示例,使用的语言是ASP.NET 2.0,使用时要注意引入两个命名空间 System.Net 和system.Net.Mail。
ASP.NET里有C#写的web开发中的发送邮件e-mail的简单源代码,很容易实现
C#邮件收发系统源代码,MailPOP3.net
300k以内,群发邮件C#源代码
ASP.NET 写的邮件发送示例源代码。支持代理。内含DEMO
示例demo,含发送邮件的相关类源代码,分享一下。
通用OA系统源代码(asp.net)包含完整源代码和数据库,除了具有传统OA的邮件、工作流、文档等功能外,还引进了项目管理和知识管理的思想,更加注重工作任务的分解、协同和监督;知识的积累、沉淀和分享,多条件跳转的分...
第6章 使用.NET发送邮件 第7章 FTP下载与文件传输 第8章 基于C#.NET的网络管理模块 第9章 编写基于.NET的Web Service 第10章 基于.NET的远程技术 第11章 流媒体在线播放第12章 在线五子棋系统模块 第13...
适合初学,与大家共享: 用户登录、在线投票、电子邮件的发送和接收、文件的上传和下载、图文验证、防盗链、聊天室 以上均为C#2.0源代码
★ 程序说明:★ ☆ 网站技术:☆ 架构体系: 数据访问层 (Data Access Layer) (LINQ to SQL 实现) 存储库层 (Repository Layer) (Repository 模式 实现) 服务层 (Service Layer) ...- [源代码] - [程序运行说明]
**计算机专业毕设:基于ASP.NET的电子邮件简单收发系统设计与实现(源代码+论文)** 本资源提供了一个完整的基于ASP.NET的电子邮件收发系统的设计与实现方案。该系统采用C#语言编写,支持多种邮件协议,并提供了...
本设计前台采用.NET技术,后台数据库采用SQL Server 2000,语言采用C#,主要讲述了邮件系统的注册、登陆、管理、发送和接收邮件等基本功能及设计方法。在系统分析中先后用系统的结构图分析了邮件系统,包括功能流程和...
SNS社区软件的源代码 有预置的微博、群组、日志、相册、贴吧、问答等应用模块, 可以帮助快速搭建以用户为中心、易于运营的社区网站 其采用asp.net mvc进行开发,可以使用SQL Server数据库或者MySql数据库,借助...
与(一)的主要区别在于:1.SMTP的不同,2.objMailMessage.From中本方法可以随便填写,但是(一)中别随便填写那么利用ASP.NET(C#)发送邮件的核心代码如下: /核心代码开始 using System.Web.Mail; MailMessage ...
上网聊天,发送群消息,发送邮件,人事部门信息,日程安排等。