C#.NET发送邮件的实例代码
2023-06-13 09:15:03 时间
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Net.Mail;
usingSystem.Net;
namespaceMyQuery.Utils
{
///<summary>
///封装邮件处理
///by贾世义2011-6-3
///</summary>
publicstaticclassMailHelper
{
privatestaticstringsmtpHost=null;
privatestaticintsmptPort=25;
privatestaticboolsmtpIsUserCredentials=false;
privatestaticstringsmtpCredentialAccount=null;
privatestaticstringsmtpCredentialPassword=null;
///<summary>
///设置发送邮件参数
///</summary>
///<paramname="host">smtp服务器地址或名称</param>
///<paramname="port">smtp服务端口一般为25</param>
///<paramname="isUserCredentials">是否需要认证</param>
///<paramname="account">需要认证时的用户</param>
///<paramname="password">需要认证时的用户的密码</param>
publicstaticvoidSetParameters(stringhost,intport,boolisUserCredentials,stringaccount,stringpassword)
{
smtpHost=host;
smptPort=port;
smtpIsUserCredentials=isUserCredentials;
smtpCredentialAccount=account;
smtpCredentialPassword=password;
}
///<summary>
///设置发送邮件参数取配置
///</summary>
privatestaticvoidsetParameters()
{
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>
///<paramname="receivers">收件人</param>
///<paramname="title">标题/主题</param>
///<paramname="content">信件内容</param>
///<paramname="sender">发件人空则取系统配置</param>
publicstaticvoidSendMail(stringreceivers,stringtitle,stringcontent,stringsender)
{
if(!String.IsNullOrEmpty(receivers))
{
//初始化参数
setParameters();
if(!String.IsNullOrEmpty(smtpHost))
{
try
{
SmtpClientsmtp=newSmtpClient(smtpHost,smptPort);
if(smtpIsUserCredentials)
{
smtp.UseDefaultCredentials=true;
smtp.Credentials=newNetworkCredential(smtpCredentialAccount,smtpCredentialPassword);;
}
smtp.DeliveryMethod=SmtpDeliveryMethod.Network;
if(String.IsNullOrEmpty(sender))
{
sender=smtpCredentialAccount;
}
foreach(stringreceiverinDataHelper.GetStrings(receivers))
{
MailMessagemsg=newMailMessage(sender,receiver,title,content);
msg.BodyEncoding=Encoding.UTF8;
msg.SubjectEncoding=Encoding.UTF8;
msg.IsBodyHtml=true;
smtp.Send(msg);
msg.Dispose();
}
}
catch{}
}
}
}
}
}
相关文章
- 推荐.Net、C# 逆向反编译四大工具利器(请勿用来非法行为)[通俗易懂]
- SQL Server中调用C#类中的方法实例(使用.NET程序集)
- C#/.NET CTS和CLS:公共类型系统和公共语言规范
- MySQL与VB.NET的数据库开发实践(mysqlvb.net)
- NET与Oracle结合出现新的可能(.net oracle)
- .NET 生态现状:超一半 .NET 开发者使用 C# 8、.NET Framework 使用量减少
- C#无限栏目分级程序代码分享好东西
- C#基础概念二十五问21-25
- C#常用日期时间函数(老用不熟)
- asp.net(C#)中给控件添加客户端js事件的方法
- 在asp.net(c#)下实现调用cmd的方法
- java与c#的语法区别详细介绍
- C#:foreach与yield语句的介绍
- asp.netC#实现下载文件的六种方法实例
- c#.net动态读取走马灯代码实例分享
- 如何让C#、VB.NET实现复杂的二进制操作
- C#正则表达式分解和转换IP地址实例(C#正则表达式大全c#正则表达式语法)
- c#并行编程示例分享
- c#读写excel文件使用示例
- c#利用system.net发送html格式邮件
- c#读取excel内容内容示例分享
- c#线程Thread示例
- C#中Dictionary的作用及用法讲解
- C#实现HTTP下载文件的方法
- C#中实现多继承的方法