时间:2016-02-15 23:49 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【C#.NET发送邮件的实例代码】,下面是详细的讲解!
C#.NET发送邮件的实例代码
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 { }
}
}
}
}
}
关于C#.NET发送邮件的实例代码的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 【Visual】分享Visual Studio原生开发的10个调试
- 【全局】.net全局定时定期执行某些操作在Global.a
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
